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

Fermé
Neiox Messages postés 6 Date d'inscription vendredi 15 avril 2016 Statut Membre Dernière intervention 30 mars 2020 - Modifié par Neiox le 18/07/2016 à 01:08
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 18 juil. 2016 à 07:04
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 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
18 juil. 2016 à 07:04
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