Вы можете установить MaxDegreeOfParallelism
при использовании Parallel
.Возможно, он решит использовать меньше потоков, но не будет использовать больше.
Вы можете вручную создать x потоков и самостоятельно разбить их на части.
Вы можете разбить работу насами меньшие рабочие элементы, поставьте их в очередь в пуле потоков по умолчанию и вызовите SetMaxThreads
.
Как и выше, но не мешая другому коду, вы можете ставить делегатов в очередь в свою потоковую очередьсоздать x потоков, которые снимают с очереди и вызывают до тех пор, пока очередь не станет пустой.
Вы можете использовать Semaphore
.