宋子宪博客

synchronized 与 Lock 的区别

  1. Lock是显式锁(手动开启和关闭锁,别忘记关闭锁),synchronized是隐式锁,出了作用域自动释放
  2. Lock只有代码块锁,synchronized有代码块锁和方法锁
  3. 使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并且具有更好的扩展性(提供更多的子类)

优先使用顺序:
Lock  同步代码块(已经进入了方法体,分配了相应资源)  同步方法
(在方法体之外)

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »