Synchronized加鎖和釋放鎖的原理、可重入原理、保證可見性原理

一、加鎖和釋放鎖的原理

現象、時機、深入jvm看字節碼

現象:每一個類的實例對應一把鎖,每個被Synchronized修飾的方法 都必須首先獲得調用該方法的類的實例的鎖 方能執行。否則線程阻塞,而這個方法獨佔了這把鎖,直到該方法返回或者拋出異常才能釋放。
獲取和釋放鎖的時機:內置鎖,線程在進入同步代碼塊之前會自動獲得這個鎖,並且在退出這個同步代碼塊會自動釋放。獲得這個內置鎖的唯一途徑就是進入到這個鎖

二、可重入原理

加鎖次數計數器

三、保證可見性原理

內存模型

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