Por que Thread.sleep(1000 * 60)

6 respostas
G

Gente acabei de ver um topico com o metodo sleep(1000 * 60), e normalmente todos topicos escrevem assim, pq ao inves de Thread.sleep(1000*60) não se coloca Thread.sleep(60000); Problema com tamanho de numero não pode ser pois o q eh passado é um long, certo?

6 Respostas

R

Para passar de milissegundos para segundos multiplicamos com 1000. Dessa forma 60 segundos fica mais claro (60 * 1000) do que (60000)… não precisa ficar contando os zeros para saber se são 6 ou 60 segundos.

G

Humm, faz sentido, mas ai se perde uns dois miliseconds de performace para fazer a conta! :lol:

R

Essa conta é feita em tempo constante O(1). Não chega a gastar 1 milissegundo.

G

:shock:

Bom então vamos usar o multiplicador para visualizar melhor as coisas!

B

Nenhum dos dois. Quando o programa é compilado, esse número é transformado para uma forma já pronta. Não há gastos com cálculos em tempo execução.

P

Bruno Laturner:

Nenhum dos dois. Quando o programa é compilado, esse número é transformado para uma forma já pronta. Não há gastos com cálculos em tempo execução.

Parabéns, foi o único que conseguiu enxergar além do alcance.

E convenhamos…1000 * 60 é melhor do que 60000.
O 60 poderia por exemplo depois ser substituido por uma variável que veio de uma leitura de um arquivo de configuração onde o tempo é expresso em segundos.
Isto dá mais flexibilidade e legibilidade ao fonte.

Criado 8 de junho de 2010
Ultima resposta 9 de jun. de 2010
Respostas 6
Participantes 4