【发布时间】:2021-02-16 15:16:13
【问题描述】:
您好,我正在使用 MaxDegreeOfParallelism 方法的不同值进行“动态”多线程处理,但是每当我尝试更改大于 1 的 MaxDegreeOfParallelism 的值时,它会在控制台中显示该程序使用的线程数超过了我分配的线程数。
public static string DoMultipleTasks(int threads, List<string> inputList)
{
ParallelOptions po = new ParallelOptions();
po.MaxDegreeOfParallelism = threads;
Parallel.ForEach(inputList, po, values =>
{
Console.WriteLine(" Name: {0}, Thread Id= {1}", values, Thread.CurrentThread.ManagedThreadId);
});
return null;
}
输出:
【问题讨论】:
标签: c# .net multithreading parallel-processing console-application