以下代码导致我的OSX Mavericks发生死锁,我没有看到打印的“正在恢复”字符串,因此期待这是原因。我理解暂停,恢复可能会导致僵局,但没有想到它会如此简单到达那里。System.out.println和挂起的线程造成死锁
任何明显的原因为什么?
Java版本 Java版本 “1.8.0_66” 的Java(TM)SE运行时环境(建立1.8.0_66-B17) 爪哇热点(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”? – markspace