next up previous contents index
Next: Un pattern de délégation Up: Délégation Previous: Délégation

L'exemple des threads

Nous avons vu au § 1.19 comment définir un agent  par dérivation de la classe Thread , et en redéfinissant sa méthode run() . Il existe une autre façon pour créer un thread, qui est indispensable quand on travaille déjà dans une classe dérivée, et qui consiste à déléguer à une instance de Thread l'exécution de la méthode définissant le comportement de l'agent. Ceci se fait en implémentant l'interface Runnable , qui déclare une méthode appelée également run(). L'argument this du constructeur Thread permet au thread créé de savoir de quel objet il doit endosser le comportement, c'est-à-dire d'accéder à la méthode run() de l'agent.

Class A implements Runnable {

  Thread t;

  A() {
    t = new Thread(this);
    t.start();
  }

  public void run() { ... }
}



R. Lalement
2000-10-23