我目前有一個程序,使用繁忙的池和一堆線程來監視對象的狀態,處理數據,並傳遞數據。這是很難管理/浪費cpu時間。我正在尋找刪除線程和使用信號/插槽,因爲沒有我的代碼「阻止」。C++信號/插槽:插槽處理和最佳C++信號庫?
所以我會發出我的對象的狀態,這很容易。更難的是我也想用插槽來傳遞數據,並傳遞數據。
基本上: A-> SignalIHAVEDATA(B.slot()和C.slot()) B和C可能無法處理數據。所以我應該在B和C中保持一個標誌,告訴他們他們是數據。或者我應該每隔X毫秒重新發出一次信號,直到數據被採集。
另外..
可以說B接受數據。它是有道理的,在B.Slot內部,它需要handleToA-> getData(); & &處理數據? & & signalAnotherThing。
如果我發出signalA並且在slotA內,我發出signalB在slotA返回之前slotB會被處理嗎? (如果這個鏈條很長slotA回來之前可能需要一段時間?)
感謝您的幫助:)
你看過Qt框架嗎? – FrustratedWithFormsDesigner 2010-03-10 15:49:29
相關:http://stackoverflow.com/questions/359928/which-c-signals-slots-library-should-i-choose – avakar 2010-03-10 15:53:50