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 Fabiano Netto <fabianolistas@gmail.com>

>
>
> 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]

------------------------------------

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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/java-br/

<*> Para sair deste grupo, envie um e-mail para:
java-br-unsubscribe@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

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