同步代碼塊以及同步方法之間的區別以及聯系


為什么使用synchronize關鍵字:

  存在共享數據,且此數據涉及多線程操作。(如經典的多窗口賣票的例子)

同步代碼塊的鎖為對象中定義的LOCK ,同步方法的鎖為this鎖。 

 

同步代碼塊和同步方法在同一實例中的表現:

同步代碼塊:

  

同步方法:

從結果可以看出:

無論是同步代碼塊還是同步方法,在同一實例中都能達到上鎖的效果。

在不同實例中:

可以得到結論,lock鎖和this鎖無法鎖住不同實例中的調用

 

class鎖:

當方法加上static修飾實,此時的鎖為class鎖,class鎖能夠達到不同對象間上鎖的效果

 


免責聲明!

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



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