Eu estou com uma duvida, eu criei uma instancia de um .class bom pra exemplificar vo colocar ele aqui
Cliente nCliente = new Cliente(Integer.parseInt(txtPorta.getText()), txtIp.getText());
Só que eu tenho um botão que deveria parar uma operação que ocorre dentro desse nCliente… bom, eh um looping de While( true) que fica rodando na instancia de nCliente…
Eu queria parar a execução do nCliente, matar ele… e fiquei curioso em saber se existe algum comando estilo nCliente.close() (nem achei ) ou algo relativo, para matar a instancia , existe algo do genero ?
mas acho ki isso não funcionaria sem o uso de thread !
cassio
Nunca vi nada assim pronto… Quando eu preciso parar a execução de um loop através do evento de um botão por exemplo, eu uso uma variável booleana como flag… O evneto do botão altera o estado desta flag…
tipo
privatebooleanflag;
quando o processo é disparado:
flag=truebooleanflag=true;for(inti=0; i < 100 && flag; i++){//façaqualquercoisa
}
e o evento do botão qualquer coisa do tipo
flag=false;
Abraço!
cassio
pm:
Não seria apenas setar a referencia para nulo ?
nCliente=null;
e thau objeto !
se vc não quiser perder seu objeto vc poderia cria o metodo close (), onde vc implementaria alguma coisa que para-se o loop, por exemplo:
mas acho ki isso não funcionaria sem o uso de thread !
Ah sim, provavelmente tem que por thread, porque senão a GUI pára e ele não vai cosneguir clicar no botão para parar a ação…
MarceloFernandes
Opa valeu Pessoal,
Eu já etava usando pequenas funções para setar a flag boolean para false, a minha curiosidade era mesmo para MATAR de vez todo o processamento e existencia da variavel do processamento, a ideia de setar ela pra null eu nem cheguei a ter, vou dar uma testada aqui… sibem que fazer isso me parece meio gambiarra, mas como eu ainda so novo no Java, ta mais doque bão pra min ehehe
Valeu pelos comentários
P
pm1
Num é gambiarra não…!!
Isso cai no exame de certificação !!!
tipo…quando vc seta uma referencia para null, vc esta tornando o objeto legivel para o garbageCollector.
danieldestro
Esse “Cliente” é uma thread?
Se sim pode usar metódos para interromper o funcionamento dela.