Non l'ho mai usato, ma per quel poco che ne so potrebbe fare al caso tuo.
Potresti istanziare un ThreadGroup con i primi 3 thread e controllare, per poter istanziare i successivi 2 processi, lo stato di questo gruppo con il metodo activeCount che restituisce il numero di thread ancora attivi.

http://java.sun.com/j2se/1.4.2/docs/...readGroup.html