Java多線程初探

本文列舉了Java多線程相關的一些重要概念,作為后續(xù)系列文章索引。

Linux鎖機制對比

  • spinlock: 自旋鎖,CPU自旋等待獲得鎖,運行機制CAS (Compare and Swap)
  • mutex: 互斥鎖,線程sleep等待鎖
  • semaphore:信號量,同步機制,如果信號量的值為1,則效果與mutex相同。如果信號量為2則可以同時讓兩個線程訪問資源
    參考:spinlock、semaphore和mutex的區(qū)別

JAVA原子類與CAS

JAVA synchronize關鍵字與Lock

JAVA信號量

Java多線程實現(xiàn)原理

  • volatile關鍵字
  • AQS

volatile 關鍵字

作用:

  • 內(nèi)存可見性
  • happens-before

AQS

參考:

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。