Méthode Java Object wait(long timeout, int nanos)
La méthode Object wait(long timeout, int nanos) place le thread actuel dans un état d'attente (bloqué) jusqu'à ce qu'un autre thread appelle la méthode notify() ou notifyAll() de cet objet, ou jusqu'à ce que le délai d'attente défini par les paramètres timeout et nanos soit dépassé.
Cette méthode est similaire à la méthodewait(long timeout)mais possède un paramètre nanos supplémentaire, qui représente un temps supplémentaire (en nanosecondes, plage 0-999999). Ainsi, le délai d'attente doit également ajouter nanos nanosecondes.
Si les paramètres timeout et nanos valent tous les deux 0, il n'y a pas de timeout et l'attente se poursuit indéfiniment, comme pour la méthodewait()。
Le thread actuel doit être le propriétaire du moniteur de cet objet, sinon uneIllegalMonitorStateExceptionexception se produira toujours.
Si le thread actuel est interrompu par n'importe quel thread avant ou pendant l'attente, il lèvera uneInterruptedExceptionexception.
Si les paramètres passés sont invalides ou si nanos n'est pas dans la plage 0-999999, il lèvera uneIllegalArgumentExceptionexception.
Syntaxe
public final void wait(long timeout, int nanos)
Parameters
timeout- Le temps d'attente (en millisecondes).
nanos- Le temps d'attente supplémentaire (en nanosecondes).
Valeur de retour
Aucune valeur de retour.
Exemple
L'exemple suivant montre l'utilisation de la méthode wait(long timeout, int nanos) :
Exemple
Le résultat de l'exécution du programme ci-dessus est :
List is empty... List is empty... Opening... New Element:'Hello!' notifyAll called! Closing... Waiting... Waiting... List is empty... Hello! Interrupted Exception!
Autres extensions
Classe Object de Java