gpt4 book ai didi

c# - 如何限制 Parallel.ForEach?

转载 作者:IT王子 更新时间:2023-10-29 03:28:35 25 4
gpt4 key购买 nike

我有一个 Parallel.ForEach() 异步循环,用于下载一些网页。我的带宽有限,所以我每次只能下载 x 页,但 Parallel.ForEach 会执行所需网页的整个列表。

有没有办法在运行 Parallel.ForEach 时限制线程数或任何其他限制器?

演示代码:

Parallel.ForEach(listOfWebpages, webpage => {
Download(webpage);
});

真正的任务与网页无关,因此创造性的网络抓取解决方案无济于事。

最佳答案

您可以在 ParallelOptions 参数中指定 MaxDegreeOfParallelism:

Parallel.ForEach(
listOfWebpages,
new ParallelOptions { MaxDegreeOfParallelism = 4 },
webpage => { Download(webpage); }
);

MSDN:Parallel.ForEach

MSDN:ParallelOptions.MaxDegreeOfParallelism

关于c# - 如何限制 Parallel.ForEach?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9290498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com