類別 | synchronized | LOCK |
---|---|---|
存在層次 | Java的關鍵字,在jvm層面上 | 是一個類 |
鎖的釋放 | ①獲取鎖的線程執行完同步代碼,釋放鎖;②線程執行發生異常,jvm會讓線程釋放鎖 | 在finally中必須釋放鎖,不然容易造成死鎖 |
鎖的獲取 | 假設A線程獲取鎖,B線程等待。如果A線程阻塞,B線程會一直等待 | 分情況而定,LOCK有多個獲取鎖的方式,大致就是嘗試獲得鎖,線程可以不用一直等待 |
鎖的狀態 | 無法判斷 | 可以判斷 |
鎖類型 | 可重入 不可中斷 非公平 | 可重入 可中斷 可公平(兩者皆可) |
性能 | 少量同步 | 大量同步 |
Synchronized和Lock區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
分佈式系統各個節點狀態如何同步?淺談一下
毛发旺盛的程序员
2020-07-08 12:27:30
阿里年薪破百架構師推薦:鳥哥的Linux私房菜,搭配面試題,真香
毛发旺盛的程序员
2020-07-08 12:27:30
ZooKeeper 一致性協議 ZAB 原理,瞭解一下
毛发旺盛的程序员
2020-07-08 12:27:20
Spring中Transactional 失效的解決方案,讓我們一起探討一下
毛发旺盛的程序员
2020-07-08 12:27:20
太狠了,Spring全家桶筆記,一站式通關全攻略,已入職某廠漲薪18K
毛发旺盛的程序员
2020-07-08 12:27:20
面試準備季——MyBatis 面試專題(含答案)
毛发旺盛的程序员
2020-07-08 12:27:20
【JAVA】 try catch finally 中包含return的幾種情況,及返回結果
never疯
2020-07-08 12:23:53
劍指Offer_編程題_二叉搜索樹的後序遍歷序列
浮煌
2020-07-08 11:43:28
劍指Offer_編程題_樹的子結構
浮煌
2020-07-08 11:43:28
java的二分查找源碼分析
Cison chen
2020-07-08 11:07:50
android程序退出方案
shangmin1990
2020-07-08 11:03:08
啥時候用interface,啥時候用abstract類? 就一句話
_躬行_
2020-07-08 10:35:56
#idea#一個Java工程頻繁被idea修改jdk版本問題
码农丁丁
2020-07-08 10:28:41
Head First Servlet/JSP 學習筆記(1)
fan_7
2020-07-08 09:39:41