synchronized 方法

1.當一個線程進入一個對象的一個synchronized 方法後,其它線程是否可進入此對象的其它方法

 

 

可以進入其他非 synchronized 的方法,synchronized 的方法不可以的!

Java中的每個對象有一個鎖(lock)或者叫監視器(monitor),當訪問每個對象的synchronized 方法時,表示將該對象上鎖,此時其他任何線程都無法再去訪問該 synchronizd方法了,直到之前的線程

執行方法完畢後,(或者拋出異常),纔將該對象的鎖釋放掉,其他線程纔有可能再去訪問該synchronized方法。

如果一個對象有多個synchronized方法,某一時刻某個線程已經進入到了某個synchronized方法,那麼在該方法沒有執行完畢前,其他線程是無法訪問該對象的任何synchronized方法的。

 

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