gpt4 book ai didi

c# - 是否可以在 Parallel.For 中定义执行顺序?

转载 作者:太空狗 更新时间:2023-10-30 00:00:22 24 4
gpt4 key购买 nike

// parameters.Count == 10
// actualFreeLicenses == 2
Parallel.For(0, parameters.Count, new ParallelOptions()
{
MaxDegreeOfParallelism = actualFreeLicenses
}, i =>
{
ExternalProgram(i);
}
);

当我执行上面的代码时,我注意到传递给 ExternalProgram 方法的 i 的值是 1 & 6,后来是 2 & 7,后来是 3 & 8。 ..

如果我有 14 个参数和 2 个许可证,它总是启动 1 和 8,然后是 2 和 9 ...

是否可以定义顺序:首先是 1 和 2,然后是 3 和 4 等等?

最佳答案

在并行循环体中使用 Queue/ConcurrentQueue 和出队项目怎么样?这将确保保留顺序。

关于c# - 是否可以在 Parallel.For 中定义执行顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7595503/

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