synchronized和Lock之间的关系

1、synchronized用于少量同步上,ReentrantLock用于大量同步。
2、synchronized是在JVM层面上实现同步的,系统可以监控锁;ReentrantLock使用代码实现。
3、synchronized线程执行发生异常,JVM会让线程释放锁;ReentranLock在finally中必须释放锁,不然容易造成线程死锁。
4、synchronized当线程a获得锁的时候,线程b会处于等待状态;ReentranLock有锁投票,定时锁等候和中断锁等候,线程可以不用一直等待。

猜你喜欢

转载自blog.csdn.net/weixin_43394744/article/details/83956791