Jean-Philippe Encausse wrote:
 > synchronize(this) {
 > try { wait(100); }
 > catch(InterruptedException e){ e.printStackTrace(); }
 > }

C'est l'idee mais en synchronisant sur this, tu le bloques. Il faut
mieux utiliser un autre objet dedie specifiquement au role de verrou.

Object o=new Object();
try
{
    synchronized(o) { o.wait(45000); }
}
catch(InterruptedException ex) { }

(encore mieux, utiliser un recyclage du verrou).

Enfin il faut mettre le tout dans une boucle si on veut garantir a 100%
l'attente (au cas ou interrupt() est appele).

Sinon j'utilise le plus souvent Thread.sleep() mais j'ai lu, je ne sais
plus ou, que wait() etait preferable (car les verrous sont liberes 
durant l'attente). Qqn peut confirmer ?

Guillaume





Répondre à