Dúvida : Identificando threads em execução de objetos do mesmo tipo

[b]Tenho que identificar as threads que estão sendo executadas concorrentemente no código abaixo.
Optei por pedir para o usuário identificar o objeto dentro do construtor, uma vez que tenho dois objetos do mesmo tipo.

O problema é que a variável identificadora independente do tipo é sempre impressa nula.
Não consigo achar erro no código. Alguém pode me auxiliar?[/b]

[code]class NossaClasse2 extends Thread {
int id;

NossaClasse2(){
int id = Console.leInt("Identifique o objeto:");     
     
}

public void run() {
    try{
        for (int i = 0; i < 10; i++){
        sleep((int)(Math.random() * 1000));
        System.out.println(i + ":" + "Thread1 do objeto " + id);
    }
}    
catch (InterruptedException e){}
}

}

public class TestNossaClasse2 {

public static void main(String args[]) {
    NossaClasse2 nc2 = new NossaClasse2();
    NossaClasse2 nc3 = new NossaClasse2();
    nc2.start();// chama o método run da thread nc2
    nc3.start();
    run();//chama o método run() local
}

static void run() {
    try {
        for (int i = 0; i < 10; i++) {
            Thread.sleep((int) (Math.random() * 1000));
            System.out.println(i + ":" + "Thread2");
        }
    }
    catch(InterruptedException e){}
}

}
[/code]
Exemplo de saída :

run:
Identifique o objeto:
1
Identifique o objeto:
2
0:Thread1 do objeto 0
0:Thread2
0:Thread1 do objeto 0
1:Thread1 do objeto 0
1:Thread1 do objeto 0
2:Thread1 do objeto 0
1:Thread2
3:Thread1 do objeto 0
2:Thread1 do objeto 0
4:Thread1 do objeto 0
3:Thread1 do objeto 0
2:Thread2
5:Thread1 do objeto 0
3:Thread2
4:Thread1 do objeto 0
4:Thread2
6:Thread1 do objeto 0
7:Thread1 do objeto 0
5:Thread2
5:Thread1 do objeto 0
8:Thread1 do objeto 0
6:Thread1 do objeto 0
6:Thread2
7:Thread1 do objeto 0
7:Thread2
9:Thread1 do objeto 0
8:Thread2
8:Thread1 do objeto 0
9:Thread1 do objeto 0
9:Thread2

Olá

Na linha onde está : int id = Console.leInt(“Identifique o objeto:”);
tire somente o int ficando assim :

id = Console.leInt(“Identifique o objeto:”);

Vê se funciona :slight_smile:

Abraços
Daniel.

Nem acredito que seja somente isso :smiley:
Executei e dessa vez deu certo.
Muito Obrigada Daniel.
Abraço.