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]
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br







0 comentários:
Postar um comentário