Java Object wait(long timeout, int nanos) Methode
Die Methode Object wait(long timeout, int nanos) versetzt den aktuellen Thread in einen wartenden (blockierten) Zustand, bis ein anderer Thread die notify()-Methode oder die notifyAll()-Methode dieses Objekts aufruft oder bis der durch die Parameter timeout und nanos festgelegte Timeout-Zeitraum überschritten wird.
Diese Methode ähnelt derwait(long timeout)-Methode,hat jedoch einen zusätzlichen nanos-Parameter, der zusätzliche Zeit darstellt (in Nanosekunden, Bereich 0-999999). Zum Timeout-Zeitraum müssen also noch nanos Nanosekunden hinzugefügt werden.
Wenn sowohl die Parameter timeout als auch nanos 0 sind, gibt es kein Timeout und es wartet unbegrenzt, ähnlich derwait()-Methode。
Der aktuelle Thread muss der Monitor-Eigentümer dieses Objekts sein, andernfalls tritt weiterhin eineIllegalMonitorStateException-Ausnahme auf.
Wenn der aktuelle Thread von einem beliebigen Thread vor oder während des Wartens unterbrochen wird, wird eineInterruptedException-Ausnahme ausgelöst.
Wenn die übergebenen Parameter ungültig sind oder nanos nicht im Bereich 0-999999 liegt, wird eineIllegalArgumentException-Ausnahme ausgelöst.
Syntax
public final void wait(long timeout, int nanos)
Parameters
timeout- Die Wartezeit (in Millisekunden).
nanos- Die zusätzliche Wartezeit (in Nanosekunden).
Rückgabewert
Kein Rückgabewert.
Beispiel
Das folgende Beispiel demonstriert die Verwendung der Methode wait(long timeout, int nanos):
Beispiel
Das Ausführungsergebnis des obigen Programms ist:
List is empty... List is empty... Opening... New Element:'Hello!' notifyAll called! Closing... Waiting... Waiting... List is empty... Hello! Interrupted Exception!
Andere Erweiterungen
Java Object-Klasse