gpt4 book ai didi

c# - Parallel.Foreach MaxDegreeOfParallelism 的范围

转载 作者:太空宇宙 更新时间:2023-11-03 12:50:49 26 4
gpt4 key购买 nike

我正在使用 Parallel.Foreach 处理多个并发任务。我通过指定 MaxDegreeOfParalellism 来限制并发操作的数量。所以现在如果我在 foreach 之外开始另一个任务,最大并发操作限制是否会应用于该任务。

Parallel.ForEach(tasks, new ParallelOptions { MaxDegreeOfParallelism = MaxInstances }, task=>
{////Some OPeration///}


Task.Factory.StartNew(action)

如果最大限制是 8,并且 Foreach 中已经有 8 个并发任务在运行。foreach 之外的任务会运行吗?

最佳答案

不,您应用于 Parallel.ForEach() 的选项只会影响 Parallel.ForEach(),它们不会直接影响任何其他代码。

(实际上,您对 Parallel.ForEach() 的限制越多,另一个 Task 立即执行的可能性就越大。这是因为您的 Parallel.ForEach() 将使用较少的 ThreadPool 线程,为其他人留出更多线程。)

关于c# - Parallel.Foreach MaxDegreeOfParallelism 的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35622571/

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