Thread qui attend une action utilisateur
Bonjour,
J'aimerais un thread tourne en boucle, jusqu'à ce qu'une variable présente sur la thread principal par à true. Bien que j'aie déjà testé la synchronisation de deux threads avec notify et wait, je n'arrive pas à l'appliquer à ce cas.
Voila mon thread:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| mavar = false;
// La syntaxe n'est peut être pas bonne mais l'idée est là:
public synchronized OnClickListener() {
mavar = true;
notify();
}
Thread myThread = new Thread(new Runnable() {
public void run() {
System.out.println("Lancé!");
while (!mavar) {
try {
synchronized(this) {
wait();
}
} catch (InterruptedException e) {
System.out.println("Erreur Thread: " + e.getMessage());
}
}
System.out.println("OK!");
}
}); |
Lorsque mavar passe bien à true, mais jamais le "OK!" se s'affiche, comme si le thread était encore en wait.
Je m'y prends surement mal avec le synchronized, mais comment faire?
Merci