異步調用我有大約10個對象。每個對象都是不同的類。發送給這些對象的請求(具有返回值的方法調用)來自不同的線程。同步從多於一個對象
我需要將這些方法調用同步,只有一個必須在同一時間執行。有些請求的優先級高於其他請求。這意味着如果有更多的請求等待執行,而另一個請求被髮送 - 比其他任何等待執行的優先級更高,則它將作爲下一個執行。
我不知道如何在C解決這個問題++。我在考慮Command模式,但它需要大量的「手動」編碼。我將不得不將每個方法調用轉換爲一個命令對象。問題在於回報價值。 有沒有人有想法,可以在這裏使用什麼樣的模式?
+1。對於C++理想優先級隊列,請參見['std :: priority_queue <>'](http://en.cppreference.com/w/cpp/container/priority_queue)上的文檔。如果使用符合C++ 11標準的工具鏈,那麼標準的[線程支持庫](http://en.cppreference.com/w/cpp/thread)可能也會提供信息和幫助。 – WhozCraig 2013-04-20 04:45:35
是不是某種主動對象模式(POSA)?我想我可以遵循這種模式,並使激活列表成爲優先隊列。 – user2301299 2013-04-20 04:47:53
我正在使用C++(我的意思不是C++ 11)。我也可以使用提升。 – user2301299 2013-04-20 04:49:05