使用来自不同线程的 posthreadmessage()

using posthreadmessage() from different threads

本文关键字:posthreadmessage 线程      更新时间:2023-10-16

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

这是我的问题:

我可以使用

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

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

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

相关文章:
  • 没有找到相关文章