Por que Thread.sleep(1000 * 60)

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?

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.

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

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

:shock:

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

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.

[quote=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.[/quote]

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.