- Synchronized是内置的java关键字,Lock是一个java类。
- Synchronized无法判断是否获取到了锁,Lock可以判断是否获取到了锁。
- Synchronized会自动释放锁,Lock必须手动释放锁。
- Synchronized线程1获得锁之后阻塞,等待锁的线程2会一直等下去(死等)。Lock不一定会死等。
- Synchronized可重入锁、不可中断、非公平锁。Lock是可重入锁、选择是否可中断、可以选择是否公平。
- Synchronized适合锁少量的代码同步问题。Lock适合锁大量的同步代码。
Synchronized和Lock的区别
最新推荐文章于 2024-09-15 09:47:04 发布