Saltar al contenido

[2021] Thread.sleep() en Java con ejemplos {DH}

junio 20, 2022

La clase Java Thread proporciona ambas variantes del método sleep(). La primera acepta solo argumentos, mientras que la otra variante acepta dos argumentos. El método sleep() se usa para detener la ejecución de un hilo durante un período de tiempo específico. El tiempo antes de que el subproceso permanezca inactivo se denomina tiempo de inactividad del subproceso. Una vez que expira el tiempo de suspensión, el subproceso reanuda la ejecución 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 está en otro lenguaje de programación. Los otros métodos con 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() usando la clase Thread porque la firma de los métodos sleep() incluye la palabra clave static. Tanto el método nativo como el método no nativo arrojan una excepción comprobada. Entonces, la palabra clave try-catch block o throws puede funcionar aquí.

El método Thread.sleep() se puede usar con cualquier hilo. Esto significa que cualquier otro subproceso o subproceso principal puede llamar al método sleep().

Parámetro:

Los siguientes son los parámetros usados ​​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 subproceso se especifica mediante el método sleep().

Norte: Indica el tiempo adicional que el programador o el desarrollador desea que el subproceso esté inactivo. El rango de n es de 0 a 999999.

El método no devuelve nada.

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

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

Cada vez que otro subproceso se interrumpe mientras el subproceso actual ya está durmiendo, se lanza una InterruptedException.

En general, cuando el sistema que ejecuta los subprocesos está ocupado, el tiempo de inactividad real del subproceso es mayor que el tiempo empleado en los argumentos. Sin embargo, cuando el sistema que ejecuta el método sleep() está menos ocupado, el tiempo de inactividad real del subproceso es casi igual al tiempo transcurrido en el argumento.

Ejemplo del método sleep() en Java: en un subproceso definido por el usuario

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 sabe, solo se ejecuta un subproceso a la vez. Si un subproceso duerme durante el tiempo especificado, el planificador de subprocesos se hace cargo de otro subproceso, 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: si el tiempo de suspensión es -ive

El siguiente ejemplo genera IllegalArgumentException cuando el tiempo de suspensión es negativo.

Nombre del archivo: TestSleepMethod3.java

Producción:

java.lang.IllegalArgumentException: timeout value is negative

. Contenido relacionado:

[2021] Thread.sleep() en Java con ejemplos {DH}