ExecCodeWithLocal.java

public class ExecCodeWithLocal {
  public static void main(String[] args) throws InterruptedException {
    // Création d'un objet code exécutable (cible)
    CodeWithLocal code = new CodeWithLocal();
    // Création de deux processus légers ayant ce même objet pour cible
    Thread t1 = new Thread(code);
    Thread t2 = new Thread(code);
    // Démarrage des processus légers
    t1.start();
    t2.start();
    // Affichage des champs de l'objet cible, après la fin des 
    // exécutions, depuis le processus léger initial
    t1.join();
    t2.join();
    System.out.println("Initial: locale: " + code.local.get());
    System.out.println("Initial: partagée:" + code.shared);
  }
}