使用AsOrdered c#时设置并行度

本文关键字:设置 并行度 AsOrdered 使用 | 更新日期: 2023-09-27 18:26:14

我得到以下错误"只能对AsParallel、ParallelEnumerable.Range或ParallelEnumerable.Repeat的结果调用AsOrdered"

运行以下代码时

myListofActions.AsParallel().WithDegreeOfParallelism(threadCount)
                                        .AsOrdered().ForAll(x => DoMyTask(x));

该代码运行良好

myListofActions.AsParallel().AsOrdered().ForAll(x => DoMyTask(x));

在这种情况下,有没有办法设置WithDegreeOfParallelism?

提前感谢

使用AsOrdered c#时设置并行度

试试这个:

myListofActions.AsParallel()
        .AsOrdered()
        .WithDegreeOfParallelism(Math.Min(threadCount, Environment.ProcessorCount))
        .ForAll(DoMyTask);