logo

Metoda Java Thread start().

The začetek() metoda razreda niti se uporablja za začetek izvajanja niti. Rezultat te metode sta dve niti, ki se izvajata hkrati: trenutna nit (ki se vrne s klica na začetno metodo) in druga nit (ki izvaja svojo metodo zagona).

Metoda start() interno pokliče metodo run() vmesnika Runnable za izvedbo kode, določene v metodi run() v ločeni niti.

Začetna nit opravlja naslednje naloge:

  • Navaja novo nit
  • Nit se premakne iz New State v Runnable stanje.
  • Ko nit dobi priložnost za izvedbo, se bo zagnala njena ciljna metoda run().

Sintaksa

 public void start() 

Povratna vrednost

 It does not return any value. 

Izjema

IllegalThreadStateException - Ta izjema se sproži, če je metoda start() poklicana več kot enkrat.

Primer 1: z razširitvijo razreda niti

 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(); } } 
Preizkusite zdaj

Izhod:

 Thread is running... 

Primer 2: z implementacijo zagonskega vmesnika

 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(); } } 
Preizkusite zdaj

Izhod:

 Thread is running... 

Primer 3: Ko metodo start() pokličete več kot enkrat

 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(); } } 
Preizkusite zdaj

Izhod:

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