logo

Java Thread start() metodas

The pradžia () gijos klasės metodas naudojamas gijos vykdymui pradėti. Šio metodo rezultatas yra dvi gijos, kurios veikia vienu metu: dabartinė gija (kuri grįžta iš iškvietimo į pradžios metodą) ir kita gija (kuri vykdo savo paleidimo metodą).

Metodas start() viduje iškviečia Runnable sąsajos run() metodą, kad atskiroje gijoje vykdytų run() metode nurodytą kodą.

Pradinė gija atlieka šias užduotis:

  • Tai stato naują temą
  • Gija perkeliama iš naujos būsenos į paleidžiamą būseną.
  • Kai gijai bus suteikta galimybė paleisti, bus paleistas tikslinis vykdymo () metodas.

Sintaksė

 public void start() 

Grąžinimo vertė

 It does not return any value. 

Išimtis

IllegalThreadStateException - Ši išimtis išmeta, jei start() metodas iškviečiamas daugiau nei vieną kartą.

1 pavyzdys: išplečiant siūlų klasę

 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(); } } 
Išbandykite dabar

Išvestis:

 Thread is running... 

2 pavyzdys: įgyvendinant paleidžiamą sąsają

 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(); } } 
Išbandykite dabar

Išvestis:

 Thread is running... 

3 pavyzdys: kai iškviečiate start() metodą daugiau nei vieną kartą

 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(); } } 
Išbandykite dabar

Išvestis:

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