Windows 10 C プログラムに複数のスレッドが出現: ソースを明らかにする
Visual Studio 2015 では、単純な C プログラムには最初は単一のスレッドが含まれています。ただし、Windows 10 で実行すると、驚くべきことに 4 つの追加スレッドが表示されます。疑問が生じます: このスレッド プールを初期化するのは誰ですか?
スレッドプールの起点を特定する
デバッグを使用して >
Windows > Microsoft Symbol Server が有効になっている [スレッド] ウィンドウでは、スレッド エントリ ポイントが ntdll.dll の TppWorkerThread として表示されます。これにより、Windows 10 はスレッド プールを利用して DLL の読み込みを最適化しているという結論につながります。
スタック トレースによりプロセスが明らかになりますTppWorkerThread に設定されたタイムリーなブレークポイントが、スタック トレース。ローダーが DLL をロードするためにスレッド プールを利用していることを示します。特に、メイン スレッドはローダー内でもアクティブであり、タスクを同時に分散するシステムの機能を示しています。
バグではなく機能Windows 10 でのこの動作システムがプロセスの初期化プロセスを加速するために利用可能なコアを利用していることを示唆しています。したがって、追加のスレッドの出現は懸念事項ではなく、むしろシステムの計算リソースをより効果的に活用する有益な機能強化です。以上がWindows 10 の単純な C プログラムが複数のスレッドを生成するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。