如何將信號從一個工作線程發送到另一個工作線程?第一個線程將在第一個線程執行完他的作業之後等待第二個線程的信號。我該如何實現這個功能?在MFC中的兩個子線程之間發送信號
0
A
回答
0
通過「發送信號」我想你並不是指發送(Windows)消息。對於非常簡單的事情來說,這太複雜了。您的(第二個)工作線程應該創建一個消息循環並檢查(自定義)消息?太過分了。雖然工作線程當然可以創建消息循環,但這很少見。
更好地使用同步,正確的對象類型是「事件」(一個簡單的對象,可以處於有信號狀態或無信號狀態)。第二個線程應該等待,第一個線程必須將其設置爲已發信號狀態以通知第二個線程完成其工作(這相當於「發送信號」)。
+0
*「雖然工作線程當然可以創建消息循環,但這種情況非常罕見。」* - 不,不是。這**非常普遍。每個承載COM對象的工作線程(僅與STA兼容)將運行一個消息循環。事實上,已經初始化到STA中的任何(工作者)線程將不得不具有消息循環。通過消息傳遞進行同步非常常見。 – IInspectable
相關問題
- 1. 如何在兩個線程之間發送中斷或信號?
- 2. MFC在對象之間發送信號
- 3. 兩個子進程之間發送信號
- 4. 線程之間的信號
- 5. 發送信號給線程
- 6. 在Qt中的兩個類之間發射信號
- 7. 在C#中的兩個Windows Froms之間發送信息#
- 8. 線程,兩個線程之間的通信c#
- 9. 發送父與子之間的信號不起作用
- 10. 兩個Arduinos之間的無線通信
- 11. 如何向線程發送無信號?
- 12. 從線程發送信號時出錯
- 13. 如何在兩個C++ MFC插件之間進行通信?
- 14. 發送信號給子進程?
- 15. 發送黑莓之間的兩個模擬器之間的短信
- 16. Python關係/兩個或多個線程之間的通信
- 17. 兩個子組件之間的接線
- 18. 如何在兩個線程之間進行通信
- 19. boost asio在兩個線程之間進行通信C++
- 20. 在兩個黑莓模擬器之間發送電子郵件
- 21. 從主函數發送一個信號到一個線程?
- 22. 在兩個線程之間共享QAxObject?
- 23. 在C++中發信號父線程11
- 24. 兩個進程之間的信號量不能使用fork
- 25. 兩個Python腳本之間安全發送信息
- 26. 如何發送和處理TService父線程和子線程之間的消息?
- 27. 通信之間的兩個
- 28. 發送信號到進程
- 29. 兩個子圖之間畫線
- 30. PySide中的線程之間的通信
'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