Execução dupla da thread

3 respostas
R

Gostaria de saber porque o método run() da minha Thread está sendo chamado duas vezes, segue abaixo o trecho do código

if (this.networkClient == null) {

logger.info(networkClient == null);

try {

startNetwork(networkClientProfile);

this.networkClient.connect();

new Thread(networkClient).start();

logger.info(Thread(networkClient).start());

this.networkActive = true;

setChanged();

notifyObservers();

} catch (IOException e) {

e.printStackTrace();

} finally {

}

}

segue abaixo o trecho do arquivo de log

3125 [AWT-EventQueue-0] INFO client.core.Core - networkClient == null
3125 [AWT-EventQueue-0] INFO client.core.Core - startNetwork(networkClientProfile)
3125 [AWT-EventQueue-0] INFO root - getInstance()
5125 [AWT-EventQueue-0] INFO client.core.Core - Thread(networkClient).start()
5125 [Thread-5] INFO root - run()
5125 [Thread-6] INFO root - run()

como pode ser visto o método run() está duplicado, alguém saberia me dizer porque?

3 Respostas

R

Pessoal,

Já resolvi o problema!!!
:lol:

lina

Oi,

Quando for postar códigos, utilize as tags/botões CODE.

Provavelmente, você está realizando uma dupla chamada no método start de sua thread:

startNetwork(networkClientProfile); // ---> Aqui this.networkClient.connect(); new Thread(networkClient).start(); // E aqui....

Tchauzin!

lina

Regina Almeida:
Pessoal,

Já resolvi o problema!!!
:lol:

Oi,

Quando Resolvido, edite seu primeiro post e coloque no título a tag [RESOLVIDO]. ok?

Acabei analisando o código e postando, sendo que nem precisava!

A propósito, explique a solução! :wink:

Tchauzin!

Criado 28 de setembro de 2010
Ultima resposta 28 de set. de 2010
Respostas 3
Participantes 2