単一のメイン スレッドを備えたテスト プログラムの単純さにもかかわらず、Windows 10 は予期せず複数の追加スレッドを開始します。この問題は、これらのスレッドが誰によって、またはどのように開始されるかという問題を引き起こします。
スレッドの識別
デバッグ > Windows > [スレッド] ウィンドウでは、ntdll.dll!TppWorkerThread にこれらのスレッドの存在が表示されます。これらは、TppWorkerThread() 関数にブレークポイントを設定していることから明らかなように、スレッド プール スレッドです。
根本原因: DLL 読み込み中
最初のスレッドプールのスタック トレース2 番目のスレッドプールのスレッドが実行を開始するときのスレッドは、ローダーが DLL をロードするためにスレッドプールを呼び出していることを示します。これは、スレッドプールを使用せずに DLL が読み込まれていた Windows 7 からの注目すべき変更点です。
Windows 10 の最適化
Windows 10 は、複数のコアを利用して、プロセスの初期化を高速化します。 DLLロード用のスレッドプール。この同時実行メカニズムによりパフォーマンスが向上しますが、バグとはみなされず、最新のハードウェア機能を活用するための機能です。
以上がWindows 10 で単純なプログラムを実行すると追加のスレッドが作成されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。