On pourra aussi consulter le tutorial sur les threads sur le site de Sun.
On trouve tout d'abord, au centre du dispositif, la classe
Thread : elle
correspond au bloc de contrôle d'une thread (ou processus léger).
Un certain nombre de méthodes s'appliquent aux objets instanciant cette
classe et en particulier, la méthode start, qui, invoquée sur un tel objet,
permet d'activer le processus léger correspondant. Son effet
est en fait de provoquer un appel de la méthode run
de l'objet correspondant au code exécutable du processus léger.
Cet objet «code» doit lui-même
implanter l'interface Runnable, ce qui correspond essentiellement à
fournir la définition d'une méthode public void run().
Deux solutions sont alors possibles pour créer une nouvelle thread en vue de
son activation:
Thread et à y redéfinir la méthode run. La méthode
run est alors encapsulée dans cette classe;
public class MaThread extends Thread {
........
public void run( ){
..............
}
}
MaThread maThread = new maThread();
maThread.start();
Runnable, c'est-à-dire incluant la
définition de la méthode run.
public class MonCode implements Runnable {
................
public void run( ){
................
}
}
Thread ayant
en paramètre la référence de l'objet code qu'elle exécutera. Son activation
est alors possible.
MonCode monCode = new MonCode(); // instanciation du code
Thread maThread = new Thread(monCode); // instanciation de la thread
maThread.start(); // activation de la thread