logo

Java Thread start() metode

The sākt() pavedienu klases metode tiek izmantota, lai sāktu pavediena izpildi. Šīs metodes rezultāts ir divi pavedieni, kas darbojas vienlaikus: pašreizējais pavediens (kas atgriežas no izsaukuma uz sākuma metodi) un otrs pavediens (kas izpilda savu izpildes metodi).

Metode start() iekšēji izsauc Runnable interfeisa metodi run(), lai atsevišķā pavedienā izpildītu metodē run() norādīto kodu.

Sākuma pavediens veic šādus uzdevumus:

  • Tas nosaka jaunu pavedienu
  • Pavediens tiek pārvietots no Jauna stāvokļa uz Runnable stāvokli.
  • Kad pavediens saņems iespēju izpildīt, tiks palaists tā mērķa palaišanas () metode.

Sintakse

 public void start() 

Atdeves vērtība

 It does not return any value. 

Izņēmums

IllegalThreadStateException - Šis izņēmums tiek izmests, ja start() metode tiek izsaukta vairāk nekā vienu reizi.

1. piemērs: Paplašinot pavedienu klasi

 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(); } } 
Izmēģiniet to tūlīt

Izvade:

 Thread is running... 

2. piemērs: ieviešot izpildāmo interfeisu

 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(); } } 
Izmēģiniet to tūlīt

Izvade:

 Thread is running... 

3. piemērs: izsaucot start() metodi vairāk nekā vienu reizi

 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(); } } 
Izmēģiniet to tūlīt

Izvade:

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