import java.util.*; public class VariableThread extends VariableObservable implements Runnable { private int attente; private Random generateur = new Random(); public VariableThread(String nom, int valeur, int attente) throws OperateurExistantException { super(nom, valeur); this.attente = attente; } public void changerValeur(int val) { System.out.println(nom() + " = " + val); synchronized (this) { super.changerValeur(val); } } public void run() { while (true) { try { Thread.sleep(attente * 1000); } catch (InterruptedException e) { } changerValeur(generateur.nextInt(100)); } } }