如何使主线程的消息优先提取?

来源:百度知道 编辑:UC知道 时间:2024/06/02 07:42:50
我用MFC做生产者消费者问题,开啦n条生产者线程,和M条消费者线程,每生产一种产品,或者,消费一种产品,都向主界面发送一天自定义消息,显示,运行都正常,但是我点主界面就无法反应啦

在生产者线程和消费者线程向窗口发送自定义消息前,加入如下代码:
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}

以上这段代码未必非常有效。关键你的辅助线程代码都没有,不知道都是如何工作的,发送消息是指:SendMessage?还是PostMessage.楼主用上面的代码先试下。不行的话,需要把源码贴出来。生产者或消费者线程都行,看了一个线程,就知道另外一个线程是如何编写的了。

生产者线程
消费者线程
都不在主线程,主界面怎么会没反应呢?