Synchronized 和Lock区别

Synchronized 和Lock区别

1.Synchronized是内置的java关键字,Lock是一个java类

2.Synchronized无法判断获取锁的状态,Lock可以判断是否获取到了锁

3.Synchronized会自动释放锁,lock必须要手动释放锁,不然会死锁

4.Synchronized线程1(获得锁,阻塞),线程2(等待,一直等):Lock锁就不一定会等待下去

5.Synchronized可重入锁,不可以终端,非公平锁;Lock,可重入锁,是够公平可以自己设置,默认非公平,在()加上true变为公平锁

6.Synchronized适合锁少量的同步代码,Lock适合锁大量的同步代码

 

posted @ 2020-10-16 14:54  scenario  阅读(86)  评论(0编辑  收藏  举报