如何将一个线程拆分为多个单独的线程以高效 CPU 工作?
How to split a thread into several separate threads for efficient CPU work?
在 C# 中,我有一个函数可以处理许多我想与线程分开的字符串行。例如,一个线程有 1000 个字符串行。因此如何将线程分离为多个线程以有效地使用 CPU?
Parallel.Foreach 允许您将 IEnumerable 的工作拆分为多个并行部分,并且您可以控制可以处理该枚举的最大线程数。
Parallel.ForEach(
stringLines,
new ParallelOptions { MaxDegreeOfParallelism = 42 },
line=> { DoWork(line); }
);
在 C# 中,我有一个函数可以处理许多我想与线程分开的字符串行。例如,一个线程有 1000 个字符串行。因此如何将线程分离为多个线程以有效地使用 CPU?
Parallel.Foreach 允许您将 IEnumerable 的工作拆分为多个并行部分,并且您可以控制可以处理该枚举的最大线程数。
Parallel.ForEach(
stringLines,
new ParallelOptions { MaxDegreeOfParallelism = 42 },
line=> { DoWork(line); }
);