天天看點

android開發中ConditionVariable的典型用法

盡管現在誕生的進階語言裡邊有了什麼STM,協程,綠程的概念,但寫代碼總會遇到現實(商業級平台都不會用很新的東西)的多線程的問題。

比如有時候你需要同步的擷取在另一個線程執行的代碼的結果,在android裡這種場景下ConditionVariable就非常好用了。

當然了以上是很簡單的一個場景,使用ConditionVariable非常友善且夠用。對于複雜的多線程之間的協同還是使用标準的條件變量結合lock + while 循環檢查。

在一些新語言中有非常豐富的并發程式設計原語(future, delay, promise),特别是協程讓我們用代碼自主的确定代碼流之間的協作關系而不是被動的作為OS排程器的奴隸,來支撐一些并行需求。

繼續閱讀