如何将一个线程拆分为多个单独的线程以高效 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); }
);