Dúvida sobre status de Thread  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
nephestos
Debugger

Membro desde: 13/11/2009 18:46:53
Mensagens: 66
Offline

Bom dia amigos, esta é minha primeira postagem, estou com uma dúvida em uma questão sobre Thread que caiu na prova, considere o código abaixo sobre Thread



Considere que a Thread já foi iniciada pelo método start().

A questão é qual o status da Thread no momento (*2) e no momento (*3)? (OBS: Status refere-se a morto, pronto, executando, dormindo, aguardando, bloqueado, nascido)

Depois eu posto o que eu respondi.

This message was edited 1 time. Last update was at 14/11/2009 11:19:33

ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline

Nenhum. Esse código não compila. O sleep() deveria estar dentro de um try, catch, pois ele lança um exceção verificada chamada InterruptedException.

Provavelmente esse não é a resposta que seu professor gostaria e de ouvir. No caso, em ambos os pontos ele estaria executando. Há a possibilidade também do sleep lançar a exception que diz que lança, então, a thread estaria morta no ponto #3.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
nephestos
Debugger

Membro desde: 13/11/2009 18:46:53
Mensagens: 66
Offline

Amigo, valeu pela resposta, exatamente o código está dentro do bloco try..catch, eu esqueci de colocar, vou editar o tópico.

Bem mas desconsiderando isto, então você diz que em ambos os casos é executando, bem, então vou dizer o que eu respondi na prova e errei.

No status do (*2) eu coloquei executando e... acertei!

No status do (*3) eu coloquei executando e ... errei!

Ele disse que no (*3) o status é adormecido, mas eu disse que se a linha (*3) é executada então é por que a thread está rodando ^^, o que vocês pensam?
rodrigo_gomes
GUJ Master
[Avatar]

Membro desde: 25/11/2003 15:45:21
Mensagens: 1088
Localização: São Paulo
Offline

Você está correto.
Como você e o ViniGodoy falaram, nesses pontos a thread estará executando. Ela só está adormecida durante a chamada do sleep, e não depois.
Mostre um programinha simples de exemplo para seu professor, printando os status, para provar que está correto.

rodrigo de paiva gomes




http://twitter.com/rod_gomes
[WWW] [MSN] [ICQ]
nephestos
Debugger

Membro desde: 13/11/2009 18:46:53
Mensagens: 66
Offline

Obrigado pela atenção, elaborei um programa simples e enviei ao meu professor, vou aguardar o parecer dele e depois retorno aqui.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team