Why can't Thread.interrupt() interrupt a thread trying to acquire lock
问题 In the book Thinking in Java it is written that Thread.interrupt() cannot interrupt a thread which is trying to acquire a synchronized lock, I want to know why? 回答1: A blocking operation can be interrupted only if it is declared to throw InterruptedException . Clearly, a synchronized block does not declare it, therefore it is impossible to interrupt a thread while it is waiting to acquire a lock. Alternatively you can use an explicit lock and call Lock.lockInterruptibly() . 回答2: The book is