當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Thread start()用法及代碼示例


線程類的 start() 方法用於開始線程的執行。此方法的結果是兩個並發運行的線程:當前線程(從調用 start 方法返回)和另一個線程(執行其 run 方法)。

start()方法內部調用Runnable接口的run()方法,在單獨的線程中執行run()方法指定的代碼。

啟動線程執行以下任務:

  • 它統計了一個新線程
  • 線程從 New State 移動到 Runnable 狀態。
  • 當線程有機會執行時,它的目標 run() 方法將運行。

用法

public void start()

返回值

It does not return any value.

異常

IllegalThreadStateException - 如果多次調用 start() 方法,則會引發此異常。

示例 1:通過擴展線程類

public class StartExp1 extends Thread
{  
    public void run()
    {  
        System.out.println("Thread is running...");  
    }  
    public static void main(String args[])
    {  
        StartExp1 t1=new StartExp1();  
        // this will call run() method
        t1.start();  
    }  
}

輸出:

Thread is running...

示例 2:通過實現 Runnable 接口

public class StartExp2  implements Runnable
{  
    public void run()
    {  
        System.out.println("Thread is running...");  
    }  
    public static void main(String args[])
    {  
        StartExp2  m1=new StartExp2 ();  
        Thread t1 =new Thread(m1);  
        // this will call run() method
        t1.start();  
    }  
}

輸出:

Thread is running...

示例 3:多次調用 start() 方法時

public class StartExp3 extends Thread
{  
    public void run()
    {  
    System.out.println("First thread running...");  
    }  
    public static void main(String args[])
    {  
        StartExp3 t1=new StartExp3();  
        t1.start();  
        // It will through an exception because you are calling start() method more than one time 
        t1.start();  
    }  
}

輸出:

First thread running...
Exception in thread "main" java.lang.IllegalThreadStateException
	at java.lang.Thread.start(Thread.java:708)
	at StartExp3.main(StartExp3.java:12)






相關用法


注:本文由純淨天空篩選整理自 Java Thread start() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。