Parallel.ForEach与常规Thread循环

时间:2015-08-09 19:41:59

标签: .net task pcap.net

我想使用Pcap.Net DLL编写应用程序。 我的应用程序获取了几个PCAP文件并发送了所有数据包。 现在我想添加选项以同时发送多个文件,并想知道什么是最有效的方法。 我有我的应用程序获得的这个文件集合,我正在考虑使用带有Parallel.ForEach属性的MaxDegreeOfParallelism,或者可能是我可以使用的其他方式并且将会有用。

1 个答案:

答案 0 :(得分:0)

您可以使用BlockingCollection并启动多个工作线程来监视此BlockingCollection。您使用BockingCollection的GetConsumingEnumerable方法来启动多个工作线程。当文件可用时,将其添加到BlockingCollection,然后其中一个工作线程选择要处理的文件。您可以在此处查看详细信息:http://mikehadlow.blogspot.in/2012/11/using-blockingcollection-to-communicate.html