logo

Java Thread start()-metod

De Start() metod för trådklass används för att börja köra tråden. Resultatet av denna metod är två trådar som körs samtidigt: den aktuella tråden (som återgår från anropet till startmetoden) och den andra tråden (som kör sin körmetod).

Start()-metoden anropar internt run()-metoden för Runnable-gränssnittet för att exekvera koden som anges i run()-metoden i en separat tråd.

Starttråden utför följande uppgifter:

  • Det visar en ny tråd
  • Tråden flyttas från New State till Runnable state.
  • När tråden får en chans att köra körs dess target run()-metod.

Syntax

 public void start() 

Returvärde

 It does not return any value. 

Undantag

IllegalThreadStateException - Det här undantaget uppstår om start()-metoden anropas mer än en gång.

Exempel 1: Genom att utöka gängklassen

 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(); } } 
Testa det nu

Produktion:

 Thread is running... 

Exempel 2: Genom att implementera körbart gränssnitt

 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(); } } 
Testa det nu

Produktion:

 Thread is running... 

Exempel 3: När du anropar start()-metoden mer än en gång

 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(); } } 
Testa det nu

Produktion:

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