以下代碼導致我的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