如何將信號從一個工作線程發送到另一個工作線程?第一個線程將在第一個線程執行完他的作業之後等待第二個線程的信號。我該如何實現這個功能?在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