Un Runnable est fondamentalement un type de classe (Runnable est une Interface) qui peut être mis dans un thread, décrivant ce que le thread est censé faire.
L' interface exécutable exige de la classe qu'elle implémente la méthode run()
comme suit:
public class MyRunnableTask implements Runnable {
public void run() {
// do stuff here
}
}
Et puis utilisez-le comme ceci:
Thread t = new Thread(new MyRunnableTask());
t.start();
Si vous n'aviez pas l' Runnable
interface, la classe Thread, qui est chargée d'exécuter vos trucs dans l'autre thread, n'aurait pas la promesse de trouver une run()
méthode dans votre classe, donc vous pourriez obtenir des erreurs. C'est pourquoi vous devez implémenter l'interface.
Avancé: Type anonyme
Notez que vous n'avez pas besoin de définir une classe comme d'habitude, vous pouvez faire tout cela en ligne:
Thread t = new Thread(new Runnable() {
public void run() {
// stuff here
}
});
t.start();
Ceci est similaire à ce qui précède, mais vous ne créez pas une autre classe nommée.