2011-03-04 74 views
1

使用ParallelOptions時,如何指定我想要的最小線程數量?我已經將Max Degree發送到50,但是當我看起來有時只有17個是開放的,並且看起來好像不是這樣。並行最小線程和最大線程

建議?

+0

[Reactive Extensions/Parallel Extensions中的最大線程數]的可能重複(http://stackoverflow.com/questions/1996298/max-number-of-threads-in-reactive-extensions-parallel-extensions) – 2011-03-04 12:48:08

+2

除非您擁有足夠的內核來運行這些線程,否則不需要那麼多的線程。 – mgronber 2011-03-04 12:51:06

回答

0

任務並行Librabry將決定多少線程都適合一個給定的機器上給定的任務。因此,只有在非常罕見的情況下(對特定的衆所周知的目標機器進行非常高的優化),您應該爲TPL提供更多的決策意見。在大多數情況下,你最好離開TPL去做它自己的工作。

+0

謝謝你downvoting沒有給出任何理由!這樣我就有最好的機會在下次做的更好...... – PVitt 2014-11-17 09:17:10

+0

什麼說我們知道我們需要一定數量的線程,我們如何給TPL輸入? – 2015-07-22 03:47:57

+0

@VincentMcNabb如已經提到的OP,用[ParallelOptions.MaxDegreeOfParallelism](https://msdn.microsoft.com/en-us/library/system.threading.tasks.paralleloptions.maxdegreeofparallelism.aspx)。這只是設置了一個上限,但是由於TPL將嘗試儘可能多地使用線程,這與您要求的非常接近, – PVitt 2015-07-22 08:47:28