多分私はそれを正しく理解していませんでした...すべてのParallelクラスの問題:(
しかし、私が今読んでいることから、私がParallelを使用するとき、私は実際にいくつかのタスク/ミッションのためにthreadPoolに存在するすべてのスレッドを動員することを理解しています。
例:
var arrayStrings = new string[1000];
Parallel.ForEach<string>(arrayStrings, someString =>
{
DoSomething(someString);
});
したがって、この場合のParallel.ForEachは、「DoSomething」タスク/ミッションのためにthreadPoolに存在するすべてのスレッドを動員しています。
しかし、Parallel.ForEachを呼び出すと、新しいスレッドが作成されますか?
1000の新しいスレッドがないことは明らかです。しかし、1000個の新しいスレッドがあると仮定しましょう。threadPoolが保持しているすべてのスレッドを解放する場合もあります。この場合、Parallel.ForEachは新しいスレッドを作成しますか?