lock 和synchronized 的区别

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/anqli-java/p/9934551.html