ホームページ  >  記事  >  バックエンド開発  >  Windows 10 上の単純な C プログラムに余分なスレッドが存在するのはなぜですか?

Windows 10 上の単純な C プログラムに余分なスレッドが存在するのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-27 17:59:01121ブラウズ

Why Are There Extra Threads in Simple C   Programs on Windows 10?

Windows 10 のスレッド プールの動作

Windows 10 では、一見単純な C プログラムに追加のスレッドが導入されているのはなぜですか? Windows 7 と Windows 10 でこのようなプログラムの動作を比較すると、この疑問が生じます。Windows 7 ではデバッガーに 1 つのスレッドしか表示されませんが、Windows 10 では 4 つの「ワーカー スレッド」を含む 5 つのスレッドが表示されます。

キーこの現象を理解するには、Windows 10 上のローダー ntdll.dll の役割にあります。スレッド プール スレッドのエントリ ポイントである TppWorkerThread() 関数にブレークポイントを設定することで、最初のスレッドプールのスタック トレースをキャプチャできます。スレッドが作成されています。

スタック トレースにより、ローダーがスレッドプールを利用して Windows 10 に DLL をロードしていることがわかります。この同時実行により、Windows 10 は複数のコアを利用できるようになり、プロセスの初期化が高速化されます。

したがって、Windows 10 上の単純な C プログラムに見られる追加のスレッドは、ローダーの最適化技術の副産物です。この動作はパフォーマンスの向上を目的としており、Windows 10 のリソース管理の進歩に起因すると考えられます。

以上がWindows 10 上の単純な C プログラムに余分なスレッドが存在するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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