synchronized于Lock的对比

Posted rzkwz

tags:

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

??Lock是显式锁(手动开启和关闭锁,别忘记关闭锁)synchronized是隐式锁,处理作用域自动释放

??Lock只有代码块锁,synchronized有代码块锁和方法锁

??使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并且具有更好的扩展性(提供更多的子类)

??优先使用顺序:Lock > 同步代码块(进入了方法体,就分配相应的资源) >  同步方法区(在方法体之外)

??ReentrantLock实现了Lock,他拥有于synchronized相同的并发性和内存语义,在实现线程安全的控制中,比较常用的是ReentrantLock,可以显式加锁,释放锁,它可重复锁

 

以上是关于synchronized于Lock的对比的主要内容,如果未能解决你的问题,请参考以下文章

JUC中Lock和ReentrantLock介绍及源码解析

2_Synchronized和Lock

并发04--JAVA中的锁

synchronized 的局限性 与 Lock 的优点

J.U.C之Condition

多线程-lock