2010-02-12 72 views

回答

3

可以使用,例如用下面的代碼嘗試爲自己(一個新的線程啓動,並開始,並呼籲a()其遞歸調用自身作爲觸發而另一個線程打印的東西到控制檯堆棧溢出):

public class SO { 

    private static void a() { 
     a(); 
    } 

    public static void main(String[] args) throws InterruptedException { 
    final Thread t = new Thread(new Runnable() { 
     public void run() { 
      a(); 
     } 
    }); 
    t.start(); 
    while (true) { 
     Thread.sleep(2000); 
     System.out.println("I'm still running @ " + System.currentTimeMillis()); 
    } 
} 

你會看到你的堆棧溢出錯誤:

Exception in thread "Thread-1" java.lang.StackOverflowError

,你還可以看到的是,印刷線保持愉快地沿着打印。

另請注意,如果EDT線程死亡,它會自動重新啓動。

+1

「EDT」是什麼意思? – 2010-02-12 20:54:07

+0

我認爲這是AWT的「事件調度程序線程」。 – 2010-02-12 21:00:01

相關問題