說說對於sychronized同步鎖的理解


  • 每個 Java 對象都有一個內置鎖
  • 線程運行到非靜態的 synchronized 同步方法上時,自動獲得實例對象的鎖
  • 持有對象鎖的線程才能運行 synchronized 同步方法或代碼塊時
  • 一個對象只有一個鎖
  • 一個線程獲得該鎖,其他線程就無法獲得鎖,直到第一個線程釋放鎖。任何其他線程都不能進入該對象上的 synchronized 方法或代碼塊,直到該鎖被釋放。
  • 釋放鎖是指持鎖線程退出了 synchronized 同步方法或代碼塊
  • 類可以同時擁有同步和非同步方法
  • 只有同步方法,沒有同步變量和類
  • 在加鎖時,要明確需要加鎖的對象
  • 線程可以獲得多個鎖
  • 同步應該盡量縮小范圍


原文鏈接
 


 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM