Point.java


public class Point {
  protected int x;
  protected int y;
  /** Déplace ce point en (x,y). */
  public void moveTo(int x, int y) {
    this.x = x;
    // Si le processeur est libéré ici, l'initialisation
    // peut être incorrecte
    this.y = y;
  }
  public String toString() {
    return "(" + x + "," + y + ")";
  }
  
  public static void main(String[] args) {
    // Création d'un point
    Point p = new Point();
    // Création de deux cibles de processus légers
    Init init1 = new Init(p,1);
    Init init2 = new Init(p,2);
    // Création des processus légers correspondant à ces cibles
    Thread t1 = new Thread(init1);
    Thread t2 = new Thread(init2);
    // Démarrage des processus légers et
    // début des exécutions concurrentes
    t1.start();
    t2.start();
  }
}