4

ファイルをダウンロードしています。これは、コアが 2 つしかない場合でも、2 つ以上のスレッドを作成するとパフォーマンスが向上することを意味します。

Parallel.ForEach()ParallelOptions.MaxDegreeOfParallelism をより高い値に設定しても、コアの量と同じ数のスレッドのみが作成されますか?

4

1 に答える 1

4

ドキュメントから:

MaxDegreeOfParallelismは、このParallelOptionsインスタンスが正の場合、設定値に渡されるParallelメソッド呼び出しによって実行される同時操作の数を制限します。MaxDegreeOfParallelismが-1の場合、同時に実行される操作の数に制限はありません。

この関数はthrowのみArgumentOutOfRangeExceptionで、タイプMaxDegreeOfParalleismはintです。つまり、コアの数よりも多くのスレッドを作成できるということです。

多くのxml生成プロセスを実行し、タスクマネージャーが以前に設定したとおりにプロセスの数を表示したため、確認できます。

于 2012-10-17T12:19:38.453 に答える