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)