前言 如果一个代码块被synchronized修饰了,当一个线程获取了相应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的释放,现在有这么一种情况,这个获取锁的线程由于要等待IO或者其他原因(比如调用sleep方法)被阻塞了,但是又没有释放锁,其他线程只能干巴巴地等着,在这种情况下,非常影响程序执行效率 所以Lock应运而生,可以不让等待的线程一直等待下去(比如只等待一定的时间或者能够响应中断) 一.Lock接口 (1)与synchronzed区别 synchronized是JVM层…