Thread.sleep!

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

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

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

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

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.

Muito muito obrigado ;))

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

O método [b]main( )[/b], que dá 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.

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

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