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

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

Last modification:August 16, 2021
如果觉得这篇技术文章对你有用,请随意赞赏