logo

Java Thread start() metódus

A Rajt() A szál osztályának metódusa a szál végrehajtásának megkezdésére szolgál. Ennek a metódusnak az eredménye két párhuzamosan futó szál: az aktuális szál (amely a hívásból visszatér a start metódusba) és a másik szál (amely végrehajtja a futtatási metódusát).

A start() metódus belsőleg meghívja a Runnable interfész run() metódusát, hogy a run() metódusban megadott kódot külön szálban hajtsa végre.

A kezdőszál a következő feladatokat hajtja végre:

  • Új témát hoz létre
  • A szál új állapotból futtatható állapotba kerül.
  • Amikor a szál lehetőséget kap a végrehajtásra, a cél run() metódus futni fog.

Szintaxis

 public void start() 

Visszatérési érték

 It does not return any value. 

Kivétel

IllegalThreadStateException - Ez a kivétel akkor dob, ha a start() metódust többször hívják.

1. példa: A szálosztály kiterjesztésével

 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(); } } 
Tesztelje most

Kimenet:

 Thread is running... 

2. példa: A futtatható interfész megvalósításával

 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(); } } 
Tesztelje most

Kimenet:

 Thread is running... 

3. példa: Ha egynél többször hívja meg a start() metódust

 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(); } } 
Tesztelje most

Kimenet:

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