编程语言
首页 > 编程语言> > c#-限制嵌套并行循环产生的并行线程总数

c#-限制嵌套并行循环产生的并行线程总数

作者:互联网

所以.我有一个正在爬网的例程.该例程以IP列表作为种子,并在爬网设备时跟踪其找到的IP.当找到新的IP时,它也会对这些IP进行爬网.

这是我的问题.我在并行foreach中对种子IP进行了初始扫描,并在并行foreach中启动了在每个设备上找到的IP,因此我最终可能会产生10个线程,每个线程产生10个线程,总共100个线程(或更多)如果这些线程找到了自己的设备).我想限制整个过程使用的线程总数(例如25).

可以在C#的任务库中完成吗?

我知道foreach循环上的MaxDegreeOfParallelism属性,但是可以共享吗?

解决方法:

将这些任务放入共享任务工厂怎么样?
How to: Create a Task Scheduler That Limits Concurrency

标签:parallel-foreach,c
来源: https://codeday.me/bug/20191121/2054159.html