如何将信号从一个工作线程发送到另一个工作线程?第一个线程将在第一个线程执行完他的作业之后等待第二个线程的信号。我该如何实现这个功能?在MFC中的两个子线程之间发送信号
0
A
回答
0
通过“发送信号”我想你并不是指发送(Windows)消息。对于非常简单的事情来说,这太复杂了。您的(第二个)工作线程应该创建一个消息循环并检查(自定义)消息?太过分了。虽然工作线程当然可以创建消息循环,但这很少见。
更好地使用同步,正确的对象类型是“事件”(一个简单的对象,可以处于有信号状态或无信号状态)。第二个线程应该等待,第一个线程必须将其设置为已发信号状态以通知第二个线程完成其工作(这相当于“发送信号”)。
+0
*“虽然工作线程当然可以创建消息循环,但这种情况非常罕见。”* - 不,不是。这**非常普遍。每个承载COM对象的工作线程(仅与STA兼容)将运行一个消息循环。事实上,已经初始化到STA中的任何(工作者)线程将不得不具有消息循环。通过消息传递进行同步非常常见。 – IInspectable
相关问题
- 1. 如何在两个线程之间发送中断或信号?
- 2. MFC在对象之间发送信号
- 3. 两个子进程之间发送信号
- 4. 在线程间发送信号
- 5. 在父进程和子进程之间发送信号
- 6. 线程之间的信号
- 7. java线程信号发送
- 8. 发送信号给线程
- 9. 两个线程之间的通信
- 10. 在Qt中的两个类之间发射信号
- 11. 在C#中的两个Windows Froms之间发送信息#
- 12. 线程之间的可轮询信号
- 13. 线程,两个线程之间的通信c#
- 14. 发送父与子之间的信号不起作用
- 15. PyGTK与线程,gobject,从另一个线程发送信号?
- 16. 两个信号之间的相位差?
- 17. 离子 - 一个信号推送通知发送两次
- 18. 如何在线程之间发送变量/信息
- 19. 如何向线程发送无信号?
- 20. 从线程发送信号时出错
- 21. 两个Arduinos之间的无线通信
- 22. 使用信号和插槽在两个小部件之间发送消息
- 23. MFC应用程序挂起线程发信号通知终止
- 24. 如何在C#中的两个程序之间发送数据?
- 25. 如何在Python中的两个程序之间发送数据?
- 26. 如何在两个C++ MFC插件之间进行通信?
- 27. pthread中两个线程之间的通信
- 28. 发送'ESC'或信号给子程序
- 29. 发送信号给子进程?
- 30. 发送黑莓之间的两个模拟器之间的短信
'PostThreadMessage()'是一种方法。 –
'WaitForSingleObject','SetEvent' –
@JoeWillcoxson:[为什么PostThreadMessage发布的消息消失?](https://blogs.msdn.microsoft.com/oldnewthing/20090930-00/?p=16553)此外,机会你会想要在相反的方向同步,所以你正在寻找相当于'SendThreadMessage'([它不存在](https://blogs.msdn.microsoft.com/oldnewthing/20081223- 00/p = 19743))。 – IInspectable