En Java, il existe deux manières principales de créer un thread :
L'interface Runnable est plus préférable pour créer un thread car elle ne nécessite pas d'hériter d'une classe (Java ne supporte pas l'héritage multiple). Vous pouvez simplement implémenter cette interface pour que chaque instance de votre classe puisse fonctionner comme un thread. Voici un exemple :
public class MonThread implements Runnable {
public void run() {
// Code à exécuter dans le thread
}
}
MonThread mt = new MonThread();
new Thread(mt).start();
Dans cet exemple, nous avons une classe MonThread
qui implémente l'interface Runnable
. La méthode run
est le point d'entrée du thread et contiendra le code que vous souhaitez exécuter. Pour démarrer le thread, vous créez une nouvelle instance de Thread
en lui passant une instance de votre classe et appelez la méthode start
.
L'autre façon de créer un thread en Java est d'étendre la classe Thread
et de redéfinir la méthode run
. C'est une méthode simple, directe, mais moins flexible, car une fois que vous héritez de la classe Thread
, vous ne pouvez pas hériter d'une autre classe.
public class MonThread extends Thread {
public void run() {
// Code à exécuter dans le thread
}
}
MonThread mt = new MonThread();
mt.start();
Dans ce cas, MonThread
hérite de la classe Thread
. La méthode run
est redéfinie pour inclure le code que vous souhaitez exécuter. Pour démarrer le thread, vous créez une nouvelle instance de votre classe et appelez la méthode start
.
Ces deux méthodes sont correctes pour créer un thread en Java. Toutefois, l'interface Runnable
est généralement privilégiée lorsque vous avez besoin de travailler avec plusieurs threads, car elle fournit une plus grande flexibilité et permet de mieux respecter le principe de responsabilité unique.