Как заставить PLINQ создавать больше параллельных потоков в .NET 4.0 beta 2?
-
21-09-2019 - |
Вопрос
В предыдущих версиях параллельных расширений вы могли установить количество потоков:
enumerable.AsParallel(numberOfThreads)
Но теперь эта перегрузка больше не доступна.Как это сделать сейчас?
Решение
В новой версии вы можете указать это с помощью метода расширения ".WithDegreeOfParallelism(int DegreeOfParallelism)".
IE:
enumerable.AsParallel().WithDegreeOfParallelism(numberOfThreads)
Другие советы
Я действительно понятия не имею, почему это изменилось, поэтому я не могу ответить на вопрос, но похоже, что если разработчик укажет количество потоков, то параллельная среда выполнения не сможет выполнить операцию наиболее оптимальным способом на основе доступных в данный момент аппаратных потоков.
Я не хочу указывать количество потоков.Прелесть PLINQ в том, что он просто работает параллельно, без необходимости мне разбираться в какой-либо логике потоков.