Saltar al contenido

Thread.sleep () en Java con ejemplos

octubre 16, 2021

La clase Java Thread proporciona las dos variantes del método sleep (). Primero uno acepta solo argumentos, mientras que la otra variante acepta dos argumentos. El método sleep () se utiliza para detener el funcionamiento de un hilo durante un período de tiempo determinado. El tiempo hasta el cual el subproceso permanece en estado de reposo se conoce como tiempo de reposo del subproceso. Una vez finalizado el tiempo de reposo, el hilo comienza su ejecución desde donde lo dejó.

La sintaxis del método sleep ():

A continuación se muestra la sintaxis del método sleep ().

El método sleep () con un parámetro es el método nativo, y la implementación del método nativo se logra en otro lenguaje de programación. Los otros métodos que tienen los dos parámetros no son el método nativo. Es decir, su implementación se realiza en Java. Podemos acceder a los métodos sleep () con la ayuda de la clase Thread, ya que la firma de los métodos sleep () contiene la palabra clave estática. El método nativo, así como el no nativo, arroja una Excepción marcada. Por lo tanto, aquí puede funcionar el bloque try-catch o la palabra clave throws.

El método Thread.sleep () se puede utilizar con cualquier hilo. Significa que cualquier otro hilo o hilo principal puede invocar el método sleep ().

Parámetros:

Los siguientes son los parámetros utilizados en el método sleep ().

mls: El tiempo en milisegundos está representado por el parámetro mls. La duración de la suspensión del hilo viene dada por el método sleep ().

norte: Muestra el tiempo adicional hasta el cual el programador o desarrollador quiere que el hilo esté en estado de suspensión. El rango de n es de 0 a 999999.

El método no devuelve nada.

Puntos importantes para recordar sobre el método Sleep ()

Siempre que se ejecutan los métodos Thread.sleep (), siempre detiene la ejecución del hilo actual.

Siempre que otro hilo interrumpe mientras el hilo actual ya está en modo de suspensión, se lanza InterruptedException.

Si el sistema que está ejecutando los subprocesos está ocupado, entonces el tiempo real de inactividad del subproceso es generalmente mayor en comparación con el tiempo transcurrido en los argumentos. Sin embargo, si el sistema que ejecuta el método sleep () tiene menos carga, entonces el tiempo real de inactividad del hilo es casi igual al tiempo transcurrido en el argumento.

Ejemplo del método sleep () en Java: en el hilo personalizado

El siguiente ejemplo muestra cómo se puede usar el método sleep () en el hilo personalizado.

Nombre del archivo: TestSleepMethod1.java

Producción:

Como bien sabes, a la vez solo se ejecuta un hilo. Si duerme un hilo durante el tiempo especificado, el programador de hilos toma otro hilo y así sucesivamente.

Ejemplo del método sleep () en Java: en el hilo principal

Nombre del archivo: TestSleepMethod2.java

Producción:

Ejemplo del método sleep () en Java: cuando el tiempo de sueño es -ive

El siguiente ejemplo lanza la excepción IllegalArguementException cuando el tiempo para dormir es negativo.

Nombre del archivo: TestSleepMethod3.java

Producción:

java.lang.IllegalArgumentException: timeout value is negative

close