【发布时间】:2016-08-06 11:34:48
【问题描述】:
以下代码导致我的 OSX Mavericks 出现死锁,我没有看到打印的“恢复”字符串,所以我认为这是原因。我理解suspend,resume可能会导致死锁,但没想到这么简单就搞定了。
有什么明显的原因吗?
Java 版本 java版本“1.8.0_66” Java(TM) SE 运行时环境 (build 1.8.0_66-b17) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.66-b17,混合模式)
class TestThread {
public static void main(String args[]) throws InterruptedException {
Thread t = new Thread() {
public void run() {
while (!isInterrupted()) {
System.out.println("looping");
}
}
};
t.start();
Thread.sleep(1000);
t.suspend();
Thread.sleep(5000);
System.out.println("resuming");
t.resume();
Thread.sleep(2000);
t.interrupt();
}
}
【问题讨论】:
-
具体是什么
t?