java

synchronized于Lock的对比

rzk · 3月13日 · 2020年本文共284个字 · 预计阅读1分钟78次已读

L睿共享ock是显式锁(手动开启和关闭锁,别忘记关闭锁)synchronized是隐式锁,处理作用域自动释放

Lock只有代码块锁,synchronized有代码块锁和睿共享方法锁

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

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

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

0 条回应