回答 3 已采纳根本原因是ReentrantLock是可重入锁,你这里只用了一个线程,这个锁一直都被main线程使用,所以你try里面两行lock操作都是正确的。 你可以换种测试方法,写一个ReentrantLoc