logo

Metoda Java Thread start().

The Start() metoda třídy vlákna se používá k zahájení provádění vlákna. Výsledkem této metody jsou dvě vlákna, která běží souběžně: aktuální vlákno (které se vrací z volání metody start) a druhé vlákno (které provádí svou metodu run).

Metoda start() interně volá metodu run() rozhraní Runnable, aby provedla kód určený v metodě run() v samostatném vláknu.

Počáteční vlákno provádí následující úlohy:

  • Uvádí nové vlákno
  • Vlákno se přesune z New State do Runnable stavu.
  • Když vlákno dostane příležitost ke spuštění, spustí se jeho cílová metoda run().

Syntax

 public void start() 

Návratová hodnota

 It does not return any value. 

Výjimka

IllegalThreadStateException - Tato výjimka vyvolá, pokud je metoda start() volána více než jednou.

Příklad 1: Rozšířením třídy vláken

 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(); } } 
Otestujte to hned

Výstup:

 Thread is running... 

Příklad 2: Implementací spustitelného rozhraní

 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(); } } 
Otestujte to hned

Výstup:

 Thread is running... 

Příklad 3: Když metodu start() zavoláte více než jednou

 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(); } } 
Otestujte to hned

Výstup:

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