我有一個函數的2個版本,這些函數在C++庫中可用,它們執行相同的任務。一個是同步函數,另一個是異步類型,允許註冊回調函數。使用異步方法vs線程等待
以下哪種策略更適合提供更好的內存和性能優化?
- 呼叫在輔助線程的同步功能,並使用互斥同步等到我得到的結果
- 不要創建一個線程,但調用的異步版本,並在回調得到的結果
我知道在選項1中創建工作線程會導致更多的開銷。我想知道與線程同步對象導致的開銷相關的問題,以及它如何與異步調用引起的開銷進行比較。函數的異步版本是否在內部分離了一個線程並使用了同步對象,還是使用了其他一些技術,如直接與內核對話?
我們應該如何猜測一個圖書館我們沒有任何信息並且無法看到源代碼被實現?只要嘗試使用這兩種形式的功能和配置你的程序。 – Mankarse 2011-04-12 05:42:39
我正在尋找一個典型的異步函數的一般方法 – paseena 2011-04-12 05:46:37