Duvida com thread  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
caiozanchetti
JavaBaby
[Avatar]

Membro desde: 27/10/2004 00:17:24
Mensagens: 90
Offline

Galera me surgiu uma duvida quando eu tava fazendo um simulado aqui...
Olha soh:
se eu tivero seguinte codigo:


O que vai acontecer eh que ele vai imprimir:
apos t1
apos t2
t1
t2
... os 2 ultimos aleatoriamente

Caso queiramos que ele imprima o apos t1 e apos t2 ao final de seus respectivos terminos deveriamos usar um join...

blz isso resolve o problema.

o detalhe eh que eu usar usar:


Tambem resolve o problema... ateh entao pensava que os dois metodos (start e run) se comportassem da msm maneira...

Eu tava lendo na api (se eu estiver errado por favor me corrijam) uma explicacao talvez seja q o metodo start na verdade apos sua chamada tera duas threads executando concorrentemente a thread que roda esta rodando o metodo start e que retornara o resultado, e outra que executará o metodo run().
Logo como no run isso nao acontece, havera apenas uma thread (ela nao precisara concorrer e/ou perder o processo para outra thread)

Se alguem souber melhor o que ocorre nesse caso, e eu falei besteira pode postar ai..

Vlw pessoal!
[MSN]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

chamar o metodo run da classe Thread é mais do que errado. foi um erro de design. e a sun cobrar isso na certificacao eh o fim da picada. e isso de cirar Thread estendendo a classe é horroroso... coisas da epoca do 1.0 (assim como os bizarros java.util.Properties e Stack)

se voce quer criar uma thread eh porque voce QUER que os dois "programas" rodem concorrentemente... eh isso que voce pensou mesmo.

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
diego2005
GUJ Master
[Avatar]

Membro desde: 17/08/2005 10:11:05
Mensagens: 1095
Offline

Acho que se você chamar o método run() ele não vai passar de um método comum, e vc não vai ter nenhum Thread de execução. Para colocar um Thread em estado executável vc deve chamar o método start().


Me corrijam se eu estiver errado....

SCJP 1.4

Meu Currículo
caiozanchetti
JavaBaby
[Avatar]

Membro desde: 27/10/2004 00:17:24
Mensagens: 90
Offline

Bah.. obrigado pessoal... Concordo com a ideia de ambos..

Valeu mesmo..
[MSN]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team