2009-11-21 7 views

답변

9

새 버전에서는 확장 메서드 ".WithDegreeOfParallelism (int degreeOfParallelism)"로 지정할 수 있습니다.

IE는 :

enumerable.AsParallel().WithDegreeOfParallelism(numberOfThreads) 
4

변경된 이유는 모르겠지만 질문에 답할 수는 없습니다. 개발자가 스레드 수를 지정하면 병렬 런타임에서 작업을 수행 할 수없는 것처럼 보입니다. 현재 사용 가능한 하드웨어 스레드를 기반으로하는 가장 최적의 방법입니다.

스레드 수를 지정하고 싶지 않습니다. PLINQ의 장점은 스레딩 논리를 파악하지 않고도 병렬로 진행된다는 것입니다.

+0

그와 나는 런타임 손에서 자원을 기반으로 계산 생각합니다. IE 8 코어 박스는 더 많은 스레드와 2 코어 박스를 수행합니다. –

+0

8 코어 대 2 코어는 "사용 가능한 하드웨어 스레드"를 작성할 때 생각하고있었습니다. 이 질문에 대한 유일한 답이되기를 기대하지 않았습니다! – CoderDennis

+0

오늘날의 데스크톱 응용 프로그램에서, 대부분의 시간, 당신은 CPU 바인딩되지 않습니다; 병렬 작업 수를 수동으로 설정할 수 있기 때문에 개발자는 APM의 복잡성을 처리 할 필요없이 합리적으로 우수한 병렬 코드를 작성할 수 있습니다. – Maghis