Thread
類的start()
方法用於開始執行執行緒。 此方法的結果是執行兩個並行執行的執行緒:當前執行緒(從呼叫start
方法返回)和另一個執行緒(執行其run
方法)。
start()
方法在內部呼叫Runnable
介面的run()
方法,以在單獨的執行緒中執行run()
方法中指定的程式碼。
啟動執行緒執行以下任務:
run()
方法將執行。語法
public void start()
返回值
此方法沒有返回值。
異常
IllegalThreadStateException
- 如果多次呼叫start()
方法,則丟擲此異常。範例1: 通過擴充套件Thread
類
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)