2011-03-04 34 views
1

ParallelOptionsを使用して、スレッドの最小量を指定する方法を教えてください。私はMax Degreeを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

何らかの理由で下降していただきありがとうございます!このようにして、次回はもっと良い機会を得ることができます... – PVitt

+0

TPLにその入力をどうやって与えるのですか? –

+0

@VincentMcNabb既に言及したOPとして、[ParallelOptions.MaxDegreeOfParallelism](https://msdn.microsoft.com/en-us/library/system.threading.tasks.paralleloptions.maxdegreeofparallelism.aspx)を使用してください。これは上限を設定するだけですが、TPLはできるだけ多くのスレッドを使用しようとするので、これはあなたが求めているものに非常に近いです。 – PVitt

関連する問題