synchronized與Lock的區別

二者區別:java 1.首先synchronized是java內置關鍵字,在jvm層面,Lock是個java類;git 2.synchronized沒法判斷是否獲取鎖的狀態,Lock能夠判斷是否獲取到鎖;github 3.synchronized會自動釋放鎖(a 線程執行完同步代碼會釋放鎖 ;b 線程執行過程當中發生異常會釋放鎖),Lock需在finally中手工釋放鎖(unlock()方法釋放鎖
相關文章
相關標籤/搜索