synchronized与lock的区别

 

1. synchronized是JVM层面上的,而lock是一个接口 
2. 发生异常是,synchronized会自动释放占有的锁;而lock必须在finally里释放锁,否则可能引发死锁的发生。 
3. lock等待锁过程当中能够用interrupt来终端等待,而synchronized只能等待锁的释放,不能响应中断; 
4. lock能够经过trylock来知道有没有获取锁,而synchronized不能; 
5. synchronized在少许同步时跟lock效率差很少,大量同步时synchronized效率较低。接口

相关文章
相关标签/搜索