.ForEach
多くのタスクを開始するループ (TPL) があります。TPL はスレッド プールからスレッドを消費しているので、利用可能なスレッドがなくなったらどうなるのだろうか? スレッドが再び使用可能になるまで、呼び出し元のコードはブロックされますか?
Task
スレッドプールには、作業項目 ( ) がキューに入れられるグローバル作業キューがあることを知っています。そのキューがいっぱいになることはありますか?
私たちの問題は、一部のタスクは長時間 (30 分) 実行され、一部は短時間 (1 秒) 実行されることですが、そのようなタスクは数千にも上ります。TPL は、開始したタスクごとに新しいスレッドを開始しますか? ないと思います。スレッド プールはどの時点で使い果たされますか?