Método Java Object wait(long timeout, int nanos)
El método Object wait(long timeout, int nanos) hace que el hilo actual entre en estado de espera (bloqueo) hasta que otro hilo invoque el método notify() o notifyAll() de este objeto, o hasta que se supere el tiempo de espera establecido por los parámetros timeout y nanos.
Este método es similar almétodo wait(long timeout)similar, pero con un parámetro adicional nanos, que representa tiempo extra (en nanosegundos, con un rango de 0-999999). Por lo tanto, el tiempo de espera debe sumar además nanos nanosegundos.
Si los parámetros timeout y nanos son ambos 0, no habrá tiempo de espera y se esperará indefinidamente, similar almétodo wait()。
El hilo actual debe ser el propietario del monitor de este objeto; de lo contrario, se produciráIllegalMonitorStateExceptionuna excepción.
Si el hilo actual es interrumpido por cualquier hilo antes o durante la espera, se lanzaráInterruptedExceptionuna excepción.
Si los parámetros pasados no son válidos o nanos no está en el rango de 0-999999, se lanzaráIllegalArgumentExceptionuna excepción.
Sintaxis
public final void wait(long timeout, int nanos)
Parámetros
timeout- Tiempo de espera (en milisegundos).
nanos- Tiempo de espera adicional (en nanosegundos).
Valor de retorno
Sin valor de retorno.
Ejemplo
El siguiente ejemplo demuestra el uso del método wait(long timeout, int nanos):
Ejemplo
El resultado de ejecutar el programa anterior es:
List is empty... List is empty... Opening... New Element:'Hello!' notifyAll called! Closing... Waiting... Waiting... List is empty... Hello! Interrupted Exception!
Otras extensiones
Clase Java Object