Sincronização

Pessoal,

Mais uma ajuda, estou apanhando que nem gente grande:

Tteste é minha thread, eu leio os comandos SQL que tenho
que executar a partir de meu objeto “ObjSql”, que coloquei dentro
de uma lista.

Disparando a mesma thread várias vezes porem com comandos sql distintos.

No momento que chamo o meu teste.join() o programa não espera todos os processos terminarem, e sim somente o primeiro a terminar (quero continuar o programa mas preciso que as thread terminem antes). Como posso resolver isso ?

Mais uma vez obrigado !!

   Tteste teste = null;

   for (int i = 0; i < lista.size(); i++) {
    teste = new Tteste();
    ObjSql myobj = (ObjSql) lista.get(i);
    teste.setSql(myobj.getSql);
    teste.start();
   }

  try {
     // ****   PROBLEMA *******
     teste.join();
  }
  catch(Exception e)  {
     System.out.println("Erro copia = " + e);
  }

  // Fim cópia
  System.out.println("Fim do programa");