java并发包下的lock接口与syschronized关键字的区别

1.syschronized是关键字,lock是接口;syschronized是内置的,基于jvm层面的,所以发生异常时会自动释放锁;二lock是基于代码的,发生异常的时候使用unlock()释放接口;

2.lock接口通过其中的lockInterruptibly()方法可以中断正在等待获取锁的线程,但是syschronized关键字只能一直等待获取线程;

3.lock接口通过其中的tryLock()方法可以判断是否已经获取到锁,但是syschronized关键字不可以;

详细说明参考:https://www.cnblogs.com/lemon-flm/p/7880119.html

原文地址:https://www.cnblogs.com/xuzhiyuan/p/9270066.html