synchronized是隐式锁。 有方法锁,块锁。reentrantlock是显示锁。需要新建ReentrantLock对象,并调用lock方法,锁住方法。使用unlock解锁方法。 属于JUC包!Java.util.concurrent 只有块锁。 优先使用顺序: Lock > 同步块(已进入方法体,分配了相应资源) > 同步方法(在方法体之外)