lock和synchronized的同步区别与选择

区别以下: 1. lock是一个接口,而synchronized是java的一个关键字,synchronized是内置的语言实现;(具体实现上的区别在《Java虚拟机》中有讲解底层的CAS不一样,之前有读过如今又遗忘了。) 2. synchronized在发生异常时候会自动释放占有的锁,所以不会出现死锁;而lock发生异常时候,不会主动释放占有的锁,必须手动unlock来释放锁,可能引发死锁的发生
相关文章
相关标签/搜索