Как заставить PLINQ создавать более параллельные потоки в.NET 4.0 beta 2?

В предыдущих версиях Parallel Extensions вы могли устанавливать количество потоков:

enumerable.AsParallel(numberOfThreads)

Но теперь эта перегрузка больше не доступна. Как это сделать сейчас?

2 ответа

Решение

В новой версии вы можете указать его с помощью метода расширения ".WithDegreeOfParallelism(int Степень_Параллелизма)".

IE:

enumerable.AsParallel().WithDegreeOfParallelism(numberOfThreads)

Я действительно понятия не имею, почему это изменилось, поэтому я не могу ответить на вопрос, но кажется, что если разработчик указывает количество потоков, то параллельная среда выполнения не сможет выполнить операцию наиболее оптимальным способом на основе на доступных на данный момент аппаратных потоках.

Я не хочу указывать количество потоков. Прелесть PLINQ в том, что он просто идет параллельно, и мне не нужно разбираться в логике потоков.

Другие вопросы по тегам