Dúvida threads

4 respostas
B

Por que ele não imprime "Hello World!"?

package testes;

public class TestaThread
{
    public static void main(String[] args)
    {
        new Thread()
        {
            @Override
            public void run()
            {
                System.out.println("Hello World!");
            }
        };
    }
}

4 Respostas

B

Esquece, pensei que as threads começavam sozinhas, agora fui ver que é preciso chamar start();

tnaires

Porque você cria a thread, mas não a inicializa.
É preciso chamar o método start().

[editado]
Foi mal, postamos ao mesmo tempo
[/editado]

L

Ola

Bem, primeiro do que pouco entendo, essa thread ai dentro do main, ao meu ver me parece uma inner class, alguem no forum
poderia dizer o que realmente é.

A sua classe Thread que esta dentro do main esta certa, agora o Run dela não e executado pq não ha uma chamada dele.

Ou vc atribui essa classe a um objeto como abaixo pra chamar

Thread obj =new Thread()
     {
         @Override
         public void run()
         {
             System.out.println("Hello World!");
        }
     };
	obj.start();

ou chama assim

new Thread()
     {
         @Override
         public void run()
         {
             System.out.println("Hello World!");
        }
     }.start();

O método run() da classe Thread e invocada pelo start();

B

leandrold:
Bem, primeiro do que pouco entendo, essa thread ai dentro do main, ao meu ver me parece uma inner class, alguem no forum
poderia dizer o que realmente é.

É uma classe interna anônima.

Criado 1 de maio de 2008
Ultima resposta 2 de mai. de 2008
Respostas 4
Participantes 3