Sleep en Java

De ChuWiki


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();