"Olá Amigo! Hoje o Bilaabo vai falar sobre o método mais interessante que usamos quando trabalhamos com threads: sleep . O método sleep é declarado como um método estático da classe Thread , ou seja, não está anexado a nenhum objeto. este método é fazer o programa «adormecer» por um tempo. Veja como funciona:"

Código Descrição
public static void main(String[] args)
{
Thread.sleep(2000);
}

O programa é iniciado.

Em seguida, ele congela por 2 segundos (2.000 milissegundos)

Então acaba.

O único parâmetro do método sleep é um período de tempo. O intervalo de tempo é especificado em milésimos de segundo (milissegundos). Depois que um thread chama esse método, ele adormece pelo número especificado de milissegundos.

"Quando é melhor usar este método?"

"Este método é frequentemente usado em threads filhos quando você precisa fazer algo regularmente, mas não com muita frequência. Veja este exemplo:"

Código Descrição
public static void main(String[] args)
{
while (true)
{
Thread.sleep(500);
System.out.println("Tick");
}
}
O programa será executado para sempre. A condição do loop é sempre verdadeira.

Aqui está o que o programa faz no loop:
a)  hiberna por meio segundo
b) exibe «Tick» na tela

Ou seja, alguma ação será executada duas vezes por segundo.

"Ooh, agora isso é interessante."

"Que bom que gostou, meu amigo!"

"E se eu quiser realizar uma ação 100 vezes por segundo. O que devo fazer?"

"Se uma ação deve ser executada 100 vezes por segundo e há 1000 milissegundos em um segundo, a ação precisa ser executada uma vez a cada 10 milissegundos."

Se sua ação leva 2 milissegundos, você deve adicionar um atraso de 8 milissegundos. Juntos, eles serão executados a cada 10 milissegundos. E isso resulta em 100 vezes por segundo.

Se sua ação for quase instantânea, adicione um atraso de 10 milissegundos (sono). Em seguida, será executado cerca de 100 vezes por segundo.

"Obrigado, Bilaabo."