Threads -Implementando Runnable

3 respostas
R

No exemplo abaixo dentro do construtor coloquei o metodo println() para confirmar que o this é uma instância da classe que implementa Runnable.Veio a confirmação [email removido] não entendi o que veio depois de NewThread ou seja @601bb1.Alguém pode me dizer que código é esse?Abaixo está o código do programa.

class NewThread implements Runnable {
        Thread t;
        NewThread() {
         //cria uma segunda thread
        t= new Thread( this,"Demo Thread"); //this é uma instancia de 
            //NewThread que implementa Runnable.
        System.out.println(this);//Confirma que this é realmente 
           //uma intancia de NewThread:NewThread@601bb1.
        System.out.println("Child thread; "+t );

        t.start();
         }
        //Este é o ponto de entrada da segunda thread.
        public void run () {
        try {
             for (int i=0;i<5;i-- ) {
             System.out.println("Child Thread: "+ i );
             Thread.sleep(500);
                 }
              }
         catch (InterruptedException ex ) {
         System.out.printl ( "Child está interrompido ");
          }
          System.out.println(" Termina a thread  Child ");
           }
           }

    
           class ThreadDemo
          public static void main ( String args[]) {
          new NewThread();//cria nova thread.
          
          }
          }

3 Respostas

danieldestro

é o identificador do objeto… que é único… creio que seja um hash.

cv1

Esse numero que vem depois do @ é o retorno da chamada ao hashCode() do objeto. A implementação do toString(), se vc não sobrescrevê-la, faz isso:

public String toString() { return getClass().getName() + "@" + hashCode(); }

Paulo_Silveira

eh a posicao da memoria (a de mentirinha) que o objeto esta ocupando na VM.

e tambem eh usado como hashCode default para os objetos.

Criado 21 de setembro de 2003
Ultima resposta 21 de set. de 2003
Respostas 3
Participantes 4