-1

我目前有一个控制台应用程序,它基本上执行无限循环并执行 webrequest。

目前它执行一个循环:获取一个 Web 请求,然后将结果填充到 Mongo 数据库中。这必须为每个请求完成。

我应该使用哪种方法来制作这个多线程?

4

1 回答 1

1

您可以只使用Parallel.ForEach,可能设置最大线程数,然后在整个集合上运行该操作。

请注意,多线程将要求您同步对共享数据的访问。

话虽如此,在这种情况下,您的大部分时间都在等待 IO。因此,使用异步方法调用可能比线程化操作更好,因为线程化只会不必要地阻塞多个线程。MSDN 有一个关于使用 Async 和 Await 访问 Web 的很好的演练,可以转换为您使用。

于 2013-07-23T19:02:48.297 回答