1

我不太确定这是否是正确的方法(我是一个爱好者)。我想将消息发布到循环 GetMessage() 并根据消息执行某些操作的工作线程。我知道我必须将 posthreadmessage() 与该工作线程的句柄一起使用。

这是我的问题:

我可以用吗

PostThreadMessage(idWorkerThread, WM_COMMAND, (WPARAM)0, (LPARAM)0))

来自多个不同的线程?我知道这可能会导致消息同时从不同的线程写入工作线程消息队列。这是一个问题还是很好?本质上我想要一个 N->1 线程间通信。

4

1 回答 1

1

PostThreadMessage 是线程安全的,所以你会没事的。这是一个很好的方法。另一种选择是让线程等待事件或条件变量,并具有将事件推送到具有适当同步的队列的功能。

于 2012-04-17T08:20:12.587 回答