logo

Java Thread start() metoda

The početak() metoda klase niti koristi se za početak izvođenja niti. Rezultat ove metode su dvije niti koje se izvode istodobno: trenutna nit (koja se vraća s poziva na metodu start) i druga nit (koja izvršava svoju metodu pokretanja).

Metoda start() interno poziva metodu run() sučelja Runnable za izvršavanje koda navedenog u metodi run() u zasebnoj niti.

Početna nit obavlja sljedeće zadatke:

  • Prikazuje novu temu
  • Nit se pomiče iz New State u Runnable stanje.
  • Kada nit dobije priliku za izvršenje, pokrenut će se njezina ciljna metoda run().

Sintaksa

 public void start() 

Povratna vrijednost

 It does not return any value. 

Iznimka

IllegalThreadStateException - Ova se iznimka javlja ako se metoda start() poziva više od jedanput.

Primjer 1: Proširivanjem klase 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(); } } 
Testirajte sada

Izlaz:

 Thread is running... 

Primjer 2: Implementacijom Runnable sučelja

 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(); } } 
Testirajte sada

Izlaz:

 Thread is running... 

Primjer 3: Kada pozovete metodu start() više puta

 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(); } } 
Testirajte sada

Izlaz:

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