estoy ejecutando en un while una cantidad n de threads. lo que diferencia un thread de otro, son valores en los constructores.
osea, vendria a tener algo asi:
Código:
pL.get es una lista que contiene valores y los va sacando.i=0; while(condicion) { String p = pL.get(i); ClaseThreadx pe = new ClaseThreadx(p); pe.start(); i++; }
OK, Mi problema es el siguiente.
cuando termina de ejecutar todos los threads, abajo, necesito quedarme a esperar hasta que todos los threads terminen. Y cuando terminen, hago otra cosa.
El tema es que no se como hacerlo.
Para saber cuando un thread termina, yo venia usando el metodo isAlive, donde devuelve "false" si termino. pero mi problema es, como hacer para detectar cuando TODOS terminan ? la variable que instancia la clase es una para todos (y vector de instancias de clases no creo que se pueda, o si se puede no lo se hacer).
Entonces, como puedo saber cuando todos terminan ? osea, cuando cada thread devuelve isAlive false, osea, como detectar cada thread..
si usaria variables diferentes para instanciar la clase del thread es facil, pero uso 1 sola.
ese while corre n threads donde n es siempre diferente, no tengo un numero fijo.
entonces.... alguien sabe?
pd: ademas de esos threads tengo otros corriendo, asi que un metodo o algo para saber cuando TODO (absolutamente TODO) termina, no me sirve..