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

Neiox Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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.
0