sábado, 28 de agosto de 2010

Re: [java-br] Problema com multithread

·

 

Oi Andre

Voce colocou os joins depois de _todos_ os starts?

A solucao com o while de isAlive gera um budy waiting que vai
atrapalhar muito em performance.

Paulo

--
Paulo Silveira
Caelum | Ensino e Inovação
www.caelum.com.br
www.arquiteturajava.com.br

2010/8/28 André A. Santos <ti.andreasantos@gmail.com>:
> Não entendí bem o q vc quer fazer.
>
> Mas: acredito q:
>
> * não pode mudar a assinatura de método run sobrescrito de Thread;
> * pq a referência a recebe um Objeto do mesmo tipo?
>
>
> 2010/8/28 Pedro Henrique Castro Silva <phcastro03@yahoo.com.br>
>
>>
>>
>> Amigo nunca trabalhei com thread`s, mas no caso um if após disparar a 3
>> thread e
>> finalizá-la não funciona?
>>
>> Abraço
>>
>> ________________________________
>> De: Fabiano Netto <fabianolistas@gmail.com <fabianolistas%40gmail.com>>
>> Para: java-br@yahoogrupos.com.br <java-br%40yahoogrupos.com.br>
>> Enviadas: Sábado, 28 de Agosto de 2010 15:00:26
>> Assunto: [java-br] Problema com multithread
>>
>>
>> Pessoal,
>>
>> É o seguinte, estou precisando resolver uma situação e não achei nos sites
>> de java algo didaticamente facil de entender
>>
>> Vou tentar reproduzir aqui minha situação.
>>
>> Tenho uma classe A que possui 6 métodos, que chamarei aqui de a1, a2, a3,
>> a4, a5 e a6
>>
>> Já criei 6 threads que, na prática, cada uma chama um desses métodos da
>> minha classe A, ou seja, criei algo do tipo
>>
>> public class tA1 extends thread{
>> private A a;
>>
>> public tA1(A a){
>> this.a=a;
>> }
>>
>> private void run{
>> a.a1();
>> }
>> }
>>
>> Isso se repete nas classes tA2, tA3, tA4, tA5, tA6
>>
>> Minha classe main é algo do tipo
>>
>> public static void main (String args[]){
>> A a1 = new A();
>> A a2 = new A();
>> A a3 = new A();
>> A a4 = new A();
>> A a5 = new A();
>> A a6 = new A();
>>
>> Thread tA1 = new tA1(a1);
>> Thread tA2 = new tA1(a2);
>> Thread tA3 = new tA1(a3);
>> Thread tA4 = new tA1(a4);
>> Thread tA5 = new tA1(a5);
>> Thread tA6 = new tA1(a6);
>>
>> //Disparar as threads 1, 2 e 3
>> tA1.start();
>> tA2.start();
>> tA3.start();
>> }
>>
>> Agora que vem a minha questão, eu preciso que a main aguarde o fim da
>> execução das 3 threads para então disparar as threads 4 e 5, depois
>> aguardar
>> que as 2 finalizem para disparar a 6.
>>
>> Eu tentei inicialmente fazer algo do tipo
>> tA1.join();
>> tA2.join();
>> tA3.join();
>>
>> Só que isso faz com que apos o join da tA1 nada mais seja executado senão a
>> própria tA1 e eu quero que tA1, tA2 e tA3 sejam executados em paralelo.
>>
>> Obrigado
>>
>> Abs
>> Fabiano Netto
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>
>
>
> --
> André Asantos
> Skype - andredecotia
> MSN - andre_decotia@hotmail.com
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
> Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
>
>
>

__._,_.___
Atividade nos últimos dias:
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog