Synchronized和ReentrantLock的實現原理有什麼不同

其 實 , 鎖 的 實 現 原 理 基 本 是 爲 了 達 到 一 個 目 的 :
讓 所 有 的 線 程 都 能 看 到 某 種 標 記 。
Synchronized 通 過 在 對 象 頭 中 設 置 標 記 實 現 了 這 一 目 的 , 是 一 種 JVM
原 生 的 鎖 實 現 方 式 , 而 ReentrantLock 以 及 所 有 的 基 於 Lock 接 口 的
實 現 類 , 都 是 通 過 用 一 個 volitile 修 飾 的 int 型 變 量 , 並 保 證 每 個 線
程 都 能 擁 有 對 該 int 的 可 見 性 和 原 子 修 改 , 其 本 質 是 基 於 所 謂 的 AQS
框 架 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章