Synchronisation thread avec boolean
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:
Code:
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
}
} |
Pour le thread B:
Code:
1 2 3 4 5 6
|
public void run() {
try {
while(true){
objetPartage.setBoolean(true);
} |
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.
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...