1、synchronized是一个关键字 lock是一个接口是类
2、synchronized是隐式的,不需要手动上锁和解锁,属于自动锁,发生异常会自动释放锁
lock是显式的,需要手动获取锁和释放锁,手动锁,发生异常不会自动释放要在finally里面自己手动释放
3、synchronized是非公平锁 lock可以是公平锁【ReentrantLock默认是非公平锁构造方法默认是false(效率高),传入true是公平锁(效率低)】
4、synchronized不可中断 持有锁线程一直不释放,其他只能阻塞等待; lock可以设置时间进行放弃等待【interrupt】
syschronized和lock的区别
最新推荐文章于 2022-12-04 15:32:08 发布