Bonjour tout le monde,

Je me remets dans le Java après une longue pause et j'essaie de faire des p'tits trucs pour me remettre dans le bain mais je galère avec la gestion des Threads.

Je vous expose mon problème : en fait, j'aimerais faire un programme avec 4 threads écrivant chacun une lettre (a pour le thread a, b pour le thread b etc). Le problème est que je voudrais que les lettres s'écrivent comme ceci : abcdabcdabcd... Or, pour le moment, mes lettres s'écrivent dans n'importe quel ordre ! En gros, je voudrais que le thread a écrive un 'a' puis une fois ceci fait, que le thread b écrive un 'b' etc

J'ai looké pleins de cours sur la synchronisation des thread mais j'ai trouvé aucune réponse à mon problème.

Je vous mets mon code pour le moment :

Classe Letter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Letter extends Thread {
 
    private Character letter;
     public Letter(Character letter) {
        this.letter = letter;
    }
    public void run() {
 	   for (int i = 0; i < 10; i++) {
               System.out.print(this.letter);
    	       try { sleep((int)(Math.random() * 100));}
    	       catch (InterruptedException e) { }
 	   }
    }
}

Classe Main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Main {
 
    public static void main(String[] args) {
        Letter a = new Letter('a');
        Letter b = new Letter('b');
        Letter c = new Letter('c');
        Letter d = new Letter('d');
 
 
        a.start();
        b.start();
        c.start();
        d.start();
 
 
        }
 
}

Je vous remercie d'avance pour votre aide.

Nico