多线程控制台应用程序获取web请求
本文关键字:web 请求 获取 应用程序 控制台 多线程 | 更新日期: 2023-09-27 18:24:26
我目前有一个控制台应用程序,它基本上可以执行无限循环和Web请求。
目前,它执行一个循环:获取一个web请求,然后将结果填充到Mongo数据库中。每个请求都必须这样做。
我应该使用哪种方法来实现多线程?
您可以只使用Parallel.ForEach
,可能设置最大线程数,并在整个集合上运行该操作。
请注意,多线程将要求您同步访问共享数据。
也就是说,在这种情况下,你的大部分时间都在等待IO。因此,使用异步方法调用可能比线程化操作更好,因为线程化只会不必要地阻塞多个线程。MSDN有一个很好的使用Async和Await访问Web的演练,可以转换为供您使用。