2011-03-04 4 views
1

ParallelOptions를 사용하면 원하는 최소 스레드 수를 어떻게 지정합니까? 나는 50까지 최대 학위를 보냈지 만, 때로는 17 명이 열렸을 때 그 열리는 것처럼 보이지 않는다.최소 및 최대 스레드의 병렬

Advise?

+0

[Reactive Extensions/Parallel Extensions의 최대 스레드 수] 가능한 복제본 (http://stackoverflow.com/questions/1996298/max-number-of-threads-in-reactive-extensions-parallel-extensions) –

+2

스레드를 실행할 코어가 충분하지 않으면 많은 스레드가 필요하지 않습니다. – mgronber

답변

0

Task Parallel Librabry는 주어진 컴퓨터에서 주어진 작업에 적합한 스레드의 양을 결정합니다. 매우 드문 경우에만 (예 : 특정 타겟 시스템에 대한 최적화가 매우 높음) TPL에게 결정에 대한 추가 정보를 제공해야합니다. 대부분의 시나리오에서 TPL은 자기 자신의 일을 맡기는 것이 좋습니다.

+0

어떤 이유로 든 downvoting 해 주셔서 감사합니다! 이 방법을 사용하면 다음에 더 잘할 수있는 최선의 기회를 얻게됩니다. – PVitt

+0

TPL에 입력 값을 어떻게 제공할까요? –

+0

@VincentMcNabb OP가 이미 언급 했으므로 [ParallelOptions.MaxDegreeOfParallelism] (https://msdn.microsoft.com/en-us/library/system.threading.tasks.paralleloptions.maxdegreeofparallelism.aspx)을 사용하십시오. 이것은 상한선 만 설정하지만 TPL은 가능한 많은 스레드를 사용하려고 시도하므로 이것은 사용자가 요구하는 것과 매우 가깝습니다. – PVitt

관련 문제