synchronized和Lock区别
小于 1 分钟JavaJUC并发编程
1、synchronized内置关键字,Lock是一个接口。
2、synchronized无法判断获取锁得状态,Lock可以判断是否获取到了锁。
3、synchronized自动释放锁。Lock锁必须要手动释放锁。如果不释放锁,死锁。
4、synchronized 线程1(获得锁,阻塞),线程2(等待,傻傻的等)。Lock锁就不一定会等待下去。
5、synchronized 可重入锁,不可以中断的,非公平锁。Lock,可重入锁,可以判断锁,非公平(可以自己设置)。
6、synchronized 适合锁少量的代码同步问题,Lock锁适合锁大量的同步代码。
锁是什么?如何判断锁的是谁?