Java兩次啟動執行緒


Java能否兩次啟動同一執行緒?
答案是:不能 。啟動執行緒後,永遠不能再次啟動。 如果這樣做,則丟擲IllegalThreadStateException。 在這種情況下,執行緒將執行一次,但第二次,它將丟擲異常。

通過下面的例子來理解它:

package com.yiibai;

public class TestThreadTwice1 extends Thread {
    public void run() {
        System.out.println("Start running...");
    }

    public static void main(String args[]) {
        TestThreadTwice1 t1 = new TestThreadTwice1();
        t1.start();
        t1.start();
    }
}

執行上面範例程式碼,將會丟擲異常:

Exception in thread "main" Start running...
java.lang.IllegalThreadStateException
    at java.lang.Thread.start(Unknown Source)
    at com.yiibai.TestThreadTwice1.main(TestThreadTwice1.java:11)