我目前有一个控制台应用程序,它基本上执行无限循环并执行webrequest。
目前它执行循环:获取Web请求,然后在Mongo数据库中填充结果。必须为每个请求执行此操作。
我应该使用哪种方法来实现这种多线程?
答案 0 :(得分:1)
您可以使用Parallel.ForEach
,可能设置最大线程数,并对整个集合运行操作。
请注意,多线程将要求您同步对共享数据的访问权。
话虽如此,在这种情况下,你的大部分时间都在等待IO。因此,使用异步方法调用可能比线程操作更好,因为线程将不必要地阻塞多个线程。 MSDN有一个很好的Walkthrough on Accessing the Web using Async and Await,可以转换为您使用。