public class Acquisition extends Thread { private final int dimension; private final Memoire memoire; private final int vitesse; private double phase; public Acquisition(Memoire memoire, int vitesse) { this.memoire = memoire; this.dimension = memoire.dimension(); this.vitesse = vitesse; } public void run() { int periode = 100 / vitesse; while (true) { phase = Math.random() * 2 * Math.PI; for (int i = 0; i < dimension; ++i) { try { sleep(periode); } catch (InterruptedException e) { } memoire.ecriture(i, fonction(i)); } } } public int fonction(int x) { return 60 + (int) (50. * Math.cos(phase + x / 6.)); } }