Salut,
je sais qu'il existe ces merveilleuses méthodes wait(), et notifyAll() associées aux mots clés synchronized pour gérer tout ce qui concerne la synchronisation de thread en java mais j'ai besoin d'une confirmation quant à une de mes intérrogations.
On ne peut pas utiliser un booléen pour synchroniser deux threads? En gros, les deux threads partages un booléen (synchronized) et le thread A, doit attendre que le thread B passe le booléen à true pour continuer un traitement.
Donc j'ai en gros pour thread A:
Pour le thread B:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void run() { try { while(true) { while(!objetPartage.getBoolean()) { // Je fais le traitement car B a fini } }
Y'a bien sûr du code dans le thread A et B et un traitement associé dans B pour pas qu'il fasse que mettre le booléen à true.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public void run() { try { while(true){ objetPartage.setBoolean(true); }
Mais bon, la question, c'est, est-ce mal de procéder comme cela? Et si oui pourquoi? Moi j'aimerai que ça soit mal mais j'en suis pas sûr...
Merci d'avance...
Partager