Lock和synchronized的区别
1、Lock是一个接口,而synchronized是一个Java关键字,synchronized是内置的语言实现,Lock是代码层面的实现
2、Lock可以选择性的获取锁,如果一段时间获取不到,咋可以不要了。synchronized不行,不达目的不罢休。借助这个特性,Lock可以避免死锁,而synchronized不惜通过谨慎的设计才能减少死锁的发生
3、synchronized在发生异常和同步块结束时候,会自动释放锁。而Lock必须手动释放,否则会造成死锁

浙公网安备 33010602011771号