ホームページ >バックエンド開発 >C++ >Windows 10 の単純な C プログラムが複数のスレッドを生成するのはなぜですか?

Windows 10 の単純な C プログラムが複数のスレッドを生成するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-28 12:16:01673ブラウズ

 Why Does My Simple C   Program in Windows 10 Spawn Multiple Threads?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。