在windows应用程序的消息循环中,GetMessage()函数会在消息队列中没有消息时挂起应用程序线程,但是当消息队列中有消息入队时,它是如何唤醒自己的呢?休眠线程如何唤醒自己?
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
最佳答案
线程不会唤醒自身。向它发送消息的线程将它 唤醒。发送消息的部分过程包括唤醒消息的接收者。
关于windows - Win32 API中GetMessage()的内部机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8109735/