線程同步

線程同步的工具

  • 原子操作
    原子操作是同步簡單的形式。它處理簡單的數(shù)據(jù)類型。原子操作的優(yōu)勢它們不妨礙競爭的線程。
  • 內(nèi)存屏障和Volatile

  • 鎖是最常用的同步工具。你可以是使用鎖來保護(hù)臨界區(qū)(critical section),這些代碼段在同一時間只能允許被一個線程訪問。
    Lock
    Mutex(互斥鎖)
    Recursive lock(遞歸鎖)
    Read-write lock(讀寫鎖)
    Distributed lock (分布鎖)
    Spin lock(自旋鎖)
    Double-checked lock(雙重檢查鎖)
  • 條件
    條件是信號量的另外一個形式,它允許在條件為真的時候線程間互相發(fā)送信號。
    條件通常被使用來說明資源可用性,或用來確保任務(wù)以特定的順序執(zhí)行。當(dāng)一個線程測試一個條件時,它會被阻塞直到條件為真。它會一直阻塞直到其它線程顯式的修改信號量的狀態(tài)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 引用自多線程編程指南應(yīng)用程序里面多個線程的存在引發(fā)了多個執(zhí)行線程安全訪問資源的潛在問題。兩個線程同時修改同一資源有...
    Mitchell閱讀 2,118評論 1 7
  • 線程同步概念想要解決的問題? 應(yīng)用程序里面多個線程的存在引發(fā)了多個執(zhí)行線程安全訪問資源的潛在問題。兩個線程同時修改...
    faterman閱讀 746評論 0 0
  • Java8張圖 11、字符串不變性 12、equals()方法、hashCode()方法的區(qū)別 13、...
    Miley_MOJIE閱讀 3,899評論 0 11
  • 概念 線程同步的方法有多種,互斥量、信號量、條件變量、讀寫鎖等?;コ饬吭谠试S或阻塞對臨界區(qū)的訪問上是很有效的,線程...
    藍(lán)雪冬荷閱讀 1,153評論 0 3
  • 一、線程同步問題的產(chǎn)生及解決方案 問題的產(chǎn)生:Java允許多線程并發(fā)控制,當(dāng)多個線程同時操作一個可共享的資源變量時...
    Android進(jìn)階與總結(jié)閱讀 689評論 1 10

友情鏈接更多精彩內(nèi)容