synchronized 与 Lock 的区别

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

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

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »