基於this question我將使用波科:: NamedEvent,但我需要等待多個事件(如Win32的WaitForMultipleObjects的()Poco C++庫是否具有跨平臺的WaitForMultipleObjects()模擬?
是否有POCO這樣的事?(搜索文檔不會產生太大但也許我沒有使用正確的搜索)
基於this question我將使用波科:: NamedEvent,但我需要等待多個事件(如Win32的WaitForMultipleObjects的()Poco C++庫是否具有跨平臺的WaitForMultipleObjects()模擬?
是否有POCO這樣的事?(搜索文檔不會產生太大但也許我沒有使用正確的搜索)
我不認爲你會發現在任何跨平臺的軟件包,包括Poco的WaitForMultipleObjects()。沒有我知道的Unix變體包在那種功能單個API調用,而是根據您正在等待的對象類型將其展開。
class NotificationQueue會讓您排隊等待obj並加以處理。無論如何,使用IOC和委託最好是使用OOP,而不是使用大的WaitForMultipleObjects,然後使用switch語句。
它們都是同一類對象 - 在這種情況下是一個NamedEvent。 – Tim 2010-04-19 17:55:33
@Tim您可能已經看過,但是根據平臺,NamedEvent只是CreateEvent或信號量的包裝。不知道你在做什麼,但我沒有看到一個簡單的方法,而沒有編寫你自己的聰明的黑客。 – Duck 2010-04-19 20:08:23
是的 - 我爲waitformultipleobjects刷新了源代碼。我會爲每個事件啓動一個線程並等待它。不知道這是最好的解決方案,但它會工作... – Tim 2010-04-19 20:12:29