Le commencer() La méthode de la classe thread est utilisée pour commencer l’exécution du thread. Le résultat de cette méthode est deux threads qui s'exécutent simultanément : le thread actuel (qui revient de l'appel à la méthode start) et l'autre thread (qui exécute sa méthode run).
La méthode start() appelle en interne la méthode run() de l'interface Runnable pour exécuter le code spécifié dans la méthode run() dans un thread séparé.
Le thread de démarrage effectue les tâches suivantes :
- Il crée un nouveau fil de discussion
- Le thread passe de l’état Nouvel à l’état Exécutable.
- Lorsque le thread a la possibilité de s'exécuter, sa méthode cible run() s'exécutera.
Syntaxe
public void start()
Valeur de retour
It does not return any value.
Exception
IllegalThreadStateException - Cette exception est levée si la méthode start() est appelée plusieurs fois.
Exemple 1 : en étendant la classe de thread
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(); } }Testez-le maintenant
Sortir:
Thread is running...
Exemple 2 : en implémentant une interface exécutable
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(); } }Testez-le maintenant
Sortir:
Thread is running...
Exemple 3 : lorsque vous appelez la méthode start() plusieurs fois
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(); } }Testez-le maintenant
Sortir:
First thread running... Exception in thread 'main' java.lang.IllegalThreadStateException at java.lang.Thread.start(Thread.java:708) at StartExp3.main(StartExp3.java:12)