同步代码块以及同步方法之间的区别以及联系


为什么使用synchronize关键字:

  存在共享数据,且此数据涉及多线程操作。(如经典的多窗口卖票的例子)

同步代码块的锁为对象中定义的LOCK ,同步方法的锁为this锁。 

 

同步代码块和同步方法在同一实例中的表现:

同步代码块:

  

同步方法:

从结果可以看出:

无论是同步代码块还是同步方法,在同一实例中都能达到上锁的效果。

在不同实例中:

可以得到结论,lock锁和this锁无法锁住不同实例中的调用

 

class锁:

当方法加上static修饰实,此时的锁为class锁,class锁能够达到不同对象间上锁的效果

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM