在java中synchronized和Lock有什么区别

lewis 2019-03-10 25次阅读

在java中synchronized和Lock的区别:

1.lock是接口,而synchronized是关键字

2.synchronized无法判断是否获取锁的状态,而Lock可以判断。

3.synchronized在发生异常时候会自动释放占有的锁,而lock不会主动释放占有的锁,必须手动unlock来释放锁。

4.Lock可以提高多个线程进行读操作的效率。

5.Lock适合大量同步的代码,而synchronized不适合。



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。