lock 和synchronized 的区别

Posted anqli-java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lock 和synchronized 的区别相关的知识,希望对你有一定的参考价值。

1  lock是接口实现,synchronized是内置方法native实现

2 lock可以主动释放锁,synchronized只能是加锁的代码块执行完毕或者遇到异常退出被动的释放锁

3 性能方面,如果竞争资源不是很激烈的情况,两者的性能差不太多,如果是在竞争资源激烈的情况下,lock的性能要优于synchronized,但是这个也不是绝对的,

在JDK6 以后对synchronized做了进一步的优化和提升,synchronized的性能也获得了很大的提升和改进,在一定程度上和lock没有太明显的差别

以上是关于lock 和synchronized 的区别的主要内容,如果未能解决你的问题,请参考以下文章

Java并发多线程编程——synchronized和Lock区别

lock和synchronized的区别

lock 和synchronized 的区别

Synchronized和lock的区别和用法

synchronized和lock的区别

synchronized和lock的区别