私は現在Task Parallel Libraryを研究中で、TPLが実際にCLRレベルのスレッドプールメカニズムを使用しているところを読んでいます。この情報を確認する記事は見つかりませんでした。 TPLにはスレッドごとにタスクキューがあり、バランスを取るための特別なワークスティールアルゴリズムが使用されています。私が知る限り、それは各プロセッサ用に1つのスレッドを作成します。スレッドプールは.NET 4以降、TPLのタスクオブジェクトを使用し始めました。(どのように)TPLは(CLR)スレッドプールを使用しますか?
TPLがスレッドプールをどのように使用するのか理解できません。スレッドプールパターンの状態では、作業項目はキューに入れられ、スレッドプール内の空きスレッドはこのキューから1つ取り出されます。しかし、TPLはスレッドの待ち行列に項目(タスク)を格納し、必要に応じて作業を盗む作業をします...したがって、全く異なっています。私のミスはどこですか?
追加質問:これは私の最初のスタックオーバーフローに関する質問だったので、それが適切かどうかはわかりません。それは...ですか?
(ちなみに、それはまさにSOの質問です。) –