finally的功能:不管try语句块中是否有异常被捕获,finally子句中的代码都被执行通常我们会在finally中释放锁,但是当一个线程运行try语句中的代码尚未执行结束而被剥夺了运行权,线程由运行态转为就绪,try代码块剩余语句等待下一个轮转时间片来执行,此时finally语句当然也不会执行,不会释放锁,因而其他线程不能获得该锁。