相同点:
1.都是独占锁,互斥访问临界资源
2.都是可重入锁
不同点:
1.synchronized可以隐式释放锁,Lock需要手动释放锁
2.synchronized是关键字 lock是一个接口
3.Lock锁的粒度更低 synchronized多个线程访问资源会一直等待 lock可以处理其他业务(tryLock)
4.synchronized 不可以中断 Lock可以中断
5.synchronized少量代码同步问题 Lock可以放在大量代码上锁(性能差别)
相同点:
1.都是独占锁,互斥访问临界资源
2.都是可重入锁
不同点:
1.synchronized可以隐式释放锁,Lock需要手动释放锁
2.synchronized是关键字 lock是一个接口
3.Lock锁的粒度更低 synchronized多个线程访问资源会一直等待 lock可以处理其他业务(tryLock)
4.synchronized 不可以中断 Lock可以中断
5.synchronized少量代码同步问题 Lock可以放在大量代码上锁(性能差别)