java Lock锁为什么不直接使用?
java中为什么不像上图那样直接使用,而是用一个局部变量指向它,然后再去使用?
我看到JDK方法中很多地方都是这样用,请问这样用和直接使用用什么区别吗?
还有什么时候需要用 static 修饰Lock,什么时候不需要?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
java中为什么不像上图那样直接使用,而是用一个局部变量指向它,然后再去使用?
我看到JDK方法中很多地方都是这样用,请问这样用和直接使用用什么区别吗?
还有什么时候需要用 static 修饰Lock,什么时候不需要?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
Lock
相比synchronized
更加符合面向对象的理念,为了效率,这跟
JMM
规范有关,特别是volatile
修饰的变量,用一个局部变量去接受,然后使用在效率上会有提升,不过你大可不必在乎这点效率,那些都是写JDK
的牛人在乎的。这和你的业务相关啊,锁的粒度决定你加不加
static
,同一把锁才会阻塞,不同锁不阻塞。使用了static
后锁的粒度会很大,类级别的。不加的话对象级别的。