Det Start() metode til trådklasse bruges til at begynde udførelsen af tråd. Resultatet af denne metode er to tråde, der kører samtidigt: den aktuelle tråd (som vender tilbage fra kaldet til startmetoden) og den anden tråd (som udfører sin køremetode).
Start()-metoden kalder internt run()-metoden for Runnable-grænsefladen for at udføre koden specificeret i run()-metoden i en separat tråd.
Starttråden udfører følgende opgaver:
- Det viser en ny tråd
- Tråden flyttes fra New State til Runnable state.
- Når tråden får en chance for at udføre, vil dens target run()-metode køre.
Syntaks
public void start()
Returværdi
It does not return any value.
Undtagelse
IllegalThreadStateException - Denne undtagelse opstår, hvis start()-metoden kaldes mere end én gang.
Eksempel 1: Ved at udvide trådklasse
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(); } }Test det nu
Produktion:
Thread is running...
Eksempel 2: Ved at implementere Runnable Interface
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(); } }Test det nu
Produktion:
Thread is running...
Eksempel 3: Når du kalder start()-metoden mere end én gang
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(); } }Test 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)