Sleep en Java
Espera en Java[editar]
Para hacer una espera en Java durante un cierto tiempo, tenemos el método Thread.sleep()
. El siguiente código muestra cómo hacer la llamada
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Pasamos como parámetro el número de milisegundos que queremos de espera. Terminado ese tiempo, el código seguirá normalmente. El ejemplo hace una espera de 1 segundo (mil milisegundos)
Interrumpir la espera en Java[editar]
Si alguien interrumpe la espera, llamando a interrupt()
del hilo es el que está ejecutándose sleep
, saltará una excepción InterruptedException
. Debemos capturarla y tratarla como consideremos adeucado. En este ejemplo se saca por pantalla con printStackTrace()
.
El siguiente código muestra un ejemplo de cómo se podría interrumpir la espera desde otro sitio
Thread theThread = new Thread(() -> {
try {
System.out.println("Thread started");
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
});
theThread.start();
theThread.interrupt();