synchoronized是JVM的内置锁,而lock是Java代码实现的.lock是sync对的扩展,完全可以替代后者.lock可以重入,允许同一个线程连续多次获得同一把锁.其次,lock独有的功能有: 1.可以响应中断,sync要么获得锁执行,要么保持等待.而重入锁可以响应中断,使得线程在迟迟得不到锁的情况下,不用再等待.主要由lockInterruptibly()实现,这是一个可以对中断进行响应的锁申请动作,锁中断可以避免死锁. 2.锁的申请可以有等待时限,用tryLock()可以实现限时…