[英]Why can't Thread.interrupt() interrupt a thread trying to acquire lock
在Thinking in Java一书中写道, Thread.interrupt()
不能中断试图获取同步锁的线程,我想知道为什么?
只有在声明抛出InterruptedException
才能中断阻塞操作。 显然, synchronized
块不会声明它,因此在等待获取锁定时不可能中断线程。
或者,您可以使用显式锁并调用Lock.lockInterruptibly()
。
这本书是错误的,除非它只引用synchronized
关键字。 Object.wait()
抛出InterruptedException
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.