概述
synchronized 是 java 内置的关键字,它提供了一种独占的加锁方式。synchronized 的获取和释放锁由 jvm 实现,用户不需要显示的释放锁,非常方便,然而 synchronized 也有一定的局限性,例如:
当线程尝试获取锁的时候,如果获取不到锁会一直阻塞,这个阻塞的过程,用户无法控制
如果获取锁的线程进入休眠或者阻塞,除非当前线程异常,否则其他线程尝试获取锁必须一直等待
JDK1.5 之后发布,加入了 Doug Lea 实现的 java.util.concurrent 包。包内提供了 Lock 类,用来提供更多扩展的加锁功能。Lock 弥补了 synchronized 的局限,提供了更加细粒度的加锁功能。
最后
以上就是顺心唇膏为你收集整理的Synchronized局限性的全部内容,希望文章能够帮你解决Synchronized局限性所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复