| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/11/2007 11:26:56
|
renatosilva
GUJ Master
Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline
|
Um programa java termina:
(1) quando a útlima thread termina, ou seja, a thread do main pode vir a terminar, mas o programa roda ainda por conta das outras, ou...
(2) quando a thread do main termina, ou seja, o main termina, mas não a sua thread, que ficaria "gerenciando as outras" ??????
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/11/2007 11:39:14
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Ele termina: 1. Quando a última thread não deamon termina. O main é uma das threads desse tipo, e ela pode terminar normalmente. 2. Quando a VM termina (pode ser através do System.exit(0)). Quem gerencia as threads é a VM (e o controle é feito pelo SO), não a thread do main.
This message was edited 2 times. Last update was at 27/11/2007 11:40:04
|
@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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/11/2007 11:45:32
|
renatosilva
GUJ Master
Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline
|
Ih cara mas pelo o que testei não é isso não, a thread do main nunca termina, ela fica esperando as outras threads:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/11/2007 11:53:06
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Rode seu programa num debugger.
Você vai ver que a thread do main morre, e toma o seu lugar uma nova thread, chamada "DestroyJavaVM". Essa outra thread é quem espera que as outras terminem, limpa o ambiente e mata a VM.
|
@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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/11/2007 12:05:37
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Ok, alterei seu programa para que você possa ver o que falei sem um depurador: Agora ele imprime não só a quantidade de threads, mas também o nome das threads rodando.
This message was edited 1 time. Last update was at 27/11/2007 13:16:14
|
@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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/11/2007 12:08:14
|
renatosilva
GUJ Master
Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline
|
Valeuzão Vini... já já vou dar uma olhada nisso...
|
|
|
 |
|
|