Ola, to com um probleminha com um codigo aqui, as threads nao tao executando!, coloquei um "println("thread ok");" e nao impreme nada, por isso que acho que nao ta executando.
alguem pode me explicar o que ta acontecendo?
Desde ja agradeco a atencao!
Classe onde o thread e definido!
------------------------------------------------------------
---------------------------------------------------------------
Classe onde eu inicialiso o thread
---------------------------------------------------------------
Já tentou colocar um breakpoint no início do método run()?
Da próxima vez, use as tags code para postar códigos (já te pediram isso em outro tópico, lembra?). Fica colorido e mais fácil de ler. Se ainda não sabe usar o recurso, leia aqui: http://www.guj.com.br/posts/list/50115.java
Dessa vezes eu formatei para você. Se quiser, clica em edit e veja com o eu fiz.
marcus_menezes
ViniGodoy:
1. Não tem nenhuma exceção sendo lançada?
2. Já tentou colocar um breakpoint no início do método run()?
3. Da próxima vez, use as tags code para postar códigos (já te pediram isso em outro tópico, lembra?). Fica colorido e mais fácil de ler. Se ainda não sabe usar o recurso, leia aqui: http://www.guj.com.br/posts/list/50115.java
Dessa vezes eu formatei para você. Se quiser, clica em edit e veja com o eu fiz.
Foi mal ai cara, eu nao sabia como usar esse recurso, e na verdade nao sei programar em java direito ainda, eu programo tem 3 anos (em Delphi), mais agora resolvi passar pro java, achei muito interessante, mais to apanhando pra caramba.
Se puderem me dar uma luz de como resolver esse problema, ficarei grato!’
Obrigado e ate logo!
ViniGodoy
Se você usa o Delphi a 3 anos, já deve ter usado um depurador, não? Colocado um breakpoint e executado passo-a-passo o código, certo?
A maior parte das IDEs suporta esse recurso para java também. Sugiro que você coloque um breakpoint no início do método run(), rode seu código passo-a-passo e certifique-se de que não está ocorrendo algum erro dentro das outras threads.
L
Leonardo3001
Faça o seguinte: antes de chamar
itau.getSaldo();
Faça join das duas threads anteriores:
cliente1.join();cliente2.join();
Programas não esperam as threads terminarem de executar para saírem foram, e é natural que algumas possam ser interrompidas no meio. Para garantir o término da execução, o join() fica esperando as threads terminarem antes do fim do programa.
marcus_menezes
ViniGodoy:
Se você usa o Delphi a 3 anos, já deve ter usado um depurador, não? Colocado um breakpoint e executado passo-a-passo o código, certo?
A maior parte das IDEs suporta esse recurso para java também. Sugiro que você coloque um breakpoint no início do método run(), rode seu código passo-a-passo e certifique-se de que não está ocorrendo algum erro dentro das outras threads.
sim, eu sei como usar um Breakpoint, ja fiz isso so que quando coloco o breakpoint no metodo Run(), vou apertando F7 eu vejo o programa sendo debugado blz, so quando eu start a thread
cliente1.start();cliente2.start();
era pra aparecer o metodo run() sendo debugado, mais nao aparece, acho que ta dando problema quando vo startar as threads!
ViniGodoy
Esperam sim. Isso só não ocorre para as daemon threads.
Thread t = new Thread(runnable);
t.setDaemon(true);
Agora, para esperar a thread tem que pelo menos ter sido iniciada. E talvez não esteja dando tempo nem para isso.
T
tma
A classe Thread tem o método run() , sem argumentos…você deve sobreescrever esse método e chamar o start, ou seja, não coloque argumentos no método run.
ViniGodoy
Putz, é verdade! Eu nem tinha visto.
Para evitar problemas desse tipo, acostume-se a colocar a tag @Override antes de todos os métodos sobrescritos.
Assim, o compilador é capaz de te avisar que o método que você está tentando sobrescrever não existe. Isso é ainda mais útil para quando você altera o nome do método na classe pai, mas esquece de alterar nas filhas.
marcus_menezes
tma:
A classe Thread tem o método run() , sem argumentos…você deve sobreescrever esse método e chamar o start, ou seja, não coloque argumentos no método run.
Isso!!! Deu certo agora, problema resolvido, obrigado a todos, abracos!