在Thinking in Java一书中写道,this.Invoke(new Func<DialogResult>(() => fsm.ShowDialog(this)));
无法中断试图获取同步锁的线程,我想知道为什么?
答案 0 :(得分:6)
只有在声明抛出struct A
{
struct {int i; int j;} deltas[] {{0, -1}, {0, 1}, {-1, 0}, {1, 0}};
A()
{
}
};
int main()
{
}
时才能中断阻塞操作。显然,InterruptedException
块没有声明它,因此在等待获取锁时不可能中断线程。
或者,您可以使用显式锁定并调用synchronized
。
答案 1 :(得分:1)
这本书是错误的,除非它只引用synchronized
关键字。 Object.wait()
抛出InterruptedException
。