JAVA如果用 this 作为锁,是所有同一个的类的对象多用类这个同一把锁么?
如果用 this 作为锁,是所有同一个的类的对象多用类这个同一把锁么?如果不是,这个类的每个线程对象都用自己(this)自己作为锁,那么线程之间并没有去竞争同一把锁。所以我的推断是:如果用 this 作为锁,所有同一个的类的对象多用类这个同一把锁。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
例子1
例子2
例子3
这位兄弟,你读一下你的描述看能读得通不
然后 this 做锁表示用类的对象做锁,不同的对象是不同的锁,锁不住的,
但如果是在 spring component 中使用,因为 component 默认是单例的,只会有一个对象,所以加锁是成功的,
但还有一种情况,如果是在事务中使用,因为锁代码块未包含整个事务提交的代码,所以锁会失效