В C # у меня есть функция, которая делает что-то со многими строковыми строками, которые я хочу разделить на потоки. Например, 1000 строк на один поток. Следовательно, как можно разделить поток на несколько потоков для эффективного использования ЦП?
Parallel.Foreach позволяет разделить работу из IEnumerable на несколько параллельных частей, и вы можете контролировать максимальное количество потоков, которые могут обрабатывать это перечисление.
Parallel.ForEach( stringLines, new ParallelOptions { MaxDegreeOfParallelism = 42 }, line=> { DoWork(line); } );