Можно ли изменить parallelOptions.MaxDegreeOfParallelism во время выполнения Parallel.ForEach

Я запускаю многопоточный цикл:

protected ParallelOptions parallelOptions = new ParallelOptions();

parallelOptions.MaxDegreeOfParallelism = 2;
Parallel.ForEach(items, parallelOptions, item =>
{
// Loop code here
});

Я хочу изменить parallelOptions.MaxDegreeOfParallelism во время выполнения параллельного цикла, чтобы уменьшить или увеличить количество потоков.

parallelOptions.MaxDegreeOfParallelism = 5;

Не похоже для увеличения ниток. Есть ли у кого-нибудь идеи?

18
задан John Egbert 27 June 2017 в 17:02
поделиться