Win32 APIのGetMessage()の内部メカニズムは?

Windowsアプリケーションのメッセージループでは、GetMessage()関数は、メッセージキューにメッセージがないときにアプリケーションスレッドを一時停止しますが、メッセージキューにメッセージがエンキューされたときにどのように起動するのですか?スリープスレッドはどうやって目を覚ますことができますか?

while (GetMessage (&msg, NULL, 0, 0))
         {
              TranslateMessage (&msg) ;
              DispatchMessage (&msg) ;
         }
ベストアンサー

スレッドは自身を起動させません。メッセージを送信するスレッドは、それを起動します。メッセージを送信するプロセスの一部は、メッセージの受信者を目覚めさせることを含む。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です