1 )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
private synchronized void aleatoireMode(){
 
................
}
2)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
synchronized (this.simulateur) {
     if (this.paramSimul.getModeleVille().isAleatoire()){
          this.aleatoireMode();
  }
pour moi la deuxieme facon de faire est identique à la premiere . pourtant mon programme marche avec la deuxieme et pas avec la premiere dans un environnement multithreads (j instancie la classe pulsieur fois).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
public class Simulation extends Thread {
   .............
    public Simulation(Simulateur simulateur, int numVille, ParamSimul paramSimul, Ville ville, DefaultListModel model) {
        super(simulateur.getThreadGroup(), simulateur.getID()+"."+numVille);
        this.simulateur = simulateur;
        if (model!=null) this.model = model;
        else this.model = new DefaultListModel();
        if (paramSimul!=null) this.paramSimul = paramSimul;
        else this.paramSimul = ParamSimul.paramSimul;//les valeurs fixées par default 
        this.numVilleSimulee = numVille;
    }

bref c'est cool si quelque m'explique la difference entre les deux .