为什么Thread.interrupt()不能中断试图获取锁的线程

wan*_*hao 5 java multithreading interrupt synchronized

在Thinking in Java一书中写道,Thread.interrupt()它不能中断试图获取同步锁的线程,我想知道为什么?

Mar*_*nik 7

只有在声明抛出阻塞操作时才能中断阻塞操作InterruptedException.显然,synchronized块不会声明它,因此在等待获取锁定时不可能中断线程.

或者,您可以使用显式锁定和调用Lock.lockInterruptibly().