Lock锁是显式锁(手动开启和关闭)。Synchronized是隐式锁,出了作用域会自动释放。 Lock只能有代码块锁,Synchronized有代码块锁和方法锁 使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并具有更好的扩展性 锁的优先使用顺序 Lock>同步代码块>同步方法