调用PostMessage为什么耗时50多秒?

来源:百度知道 编辑:UC知道 时间:2024/07/15 23:53:52
一个对话框,然后还另开了一个逻辑线程,当逻辑线程向对话框PostMessage时,有的时候竟然耗时50多秒?不是必现,偶尔出现,各位兄台解解!

===以下是逻辑线程向对话框postmessage的代码
{
SSrcServerInfo * pInfo = new SSrcServerInfo();
pInfo->nZoneSerial = 1;
g_pDlg->PostMessage(WM_UPDATE_SRCSERVER, (WPARAM)pInfo, sizeof(SSrcServerInfo));
}

我想原因可能是新的线程不响应。
PostMessage 只是发送到消息队列,如果线程进入睡眠状态就不会响应。
你可以使用 PostThreadMessage 唤醒线程,再作它话。

还有
你也可以使用 WaitForSingleObject 嘛。

供参考。