1 lock是接口实现,synchronized是内置方法native实现
2 lock可以主动释放锁,synchronized只能是加锁的代码块执行完毕或者遇到异常退出被动的释放锁
3 性能方面,如果竞争资源不是很激烈的情况,两者的性能差不太多,如果是在竞争资源激烈的情况下,lock的性能要优于synchronized,但是这个也不是绝对的,
在JDK6 以后对synchronized做了进一步的优化和提升,synchronized的性能也获得了很大的提升和改进,在一定程度上和lock没有太明显的差别
原文地址:https://www.cnblogs.com/anqli-java/p/9934551.html
时间: 2024-10-10 21:35:38