Thread.sleep!

6 respostas
R
public class SleepMessages {
    
    public static void main(String args[]) throws InterruptedException {
        String importantInfo[] = {"String1","String2","String3","String4"};
        
        for(int i = 0; i < importantInfo.length; i++) {
            //Pause
            Thread.sleep(4000);
            System.out.println(importantInfo[i]);
        }
    }
    
}

Olá pessoal…
No código acima porque se pode fazer Thread.sleep(), quando não criei nenhuma instância de Thread!

Abraço

6 Respostas

Bianca_Rosa

Porque o sleep é um método estático da classe Thread. Segundo o javadoc:

static void sleep(long millis)
Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds.

Ou seja, você não precisa ter um objeto pra executá-lo :wink:

wagnerfrancisco

Exato, e nesse caso a Thread que irá dormir é a Thread que está executando atualmente. Mesmo que você não instancie uma nova Thread, você tem a principal que já estava executando.

R

Muito muito obrigado ;))

Estes conceitos de Java ainda não estão bem cimentados xD

Henrique.tenorio
O método [b]main( )[/b], que  inicio a todo processamento, é uma thread chamado de [i]thread principal[/i]. Se você examinasse a pilha de chamadas principal (e é possivel, sempre que capturar um rastreamento de pilha de algo que ocorra depois do método principal a ser iniciado, mas não dentro de outro thread), veria que [b]main()[/b] é o primeiro método da pilha.
R

O que você quer dizer por pilha chamadas principal?
E como ver isso?

J

Nosso amigo quiz dizer as chamadas de métodos feitas pelo sistema. Estas Podem ser representadas por uma pilha.

Criado 14 de janeiro de 2012
Ultima resposta 15 de jan. de 2012
Respostas 6
Participantes 5