Tant que ma condition n'est pas validé alors attendre? [Fermé]

Signaler
Messages postés
6
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
30 mars 2020
-
Messages postés
16339
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mai 2021
-
Quand j'exécute un timer de 5 min J'aimerais que les actions qui suivent attendent que mon timer sois terminer. J'ai éssayer de passer par un while en faisant
    pl.timer();
    while(pl.compte !=0){
              try {
                  //attente passive
                  wait();
              } catch(InterruptedException ie) {
                  ie.printStackTrace();
              }
     
    }

Mais sa ne fonctionne pas et cela me retourne une erreur a la ligne du wait();.
Si vous avez une idée merci de me la communiqué.
Merci de m'avoir lu!
Ps : Mon timer dure 300s

1 réponse

Messages postés
16339
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mai 2021
2 830
Bonjour,

wait() ne fait pas ce que tu penses, voir sa documentation : Object.wait()

Tu pourrais faire un Thread.sleep(100) pour regarder toutes les 0.1 secondes si ta condition est vérifiée.

Mais si ce que tu fais c'est de la concurrence de Thread alors il vaudrait mieux utiliser les classes du package java.util.concurrent dédié.
Par exemple avec un Lock.