In my program i have 10 threads working simultaneously, the threads are used to fetch data(one row per thread)from the database and send it to some other method. when the data in the database reaches the nth record the first thread that encounters this will spawn a main governing thread and it dies out. My problem is that i have to wait till all the other threads die out for the main governing thread to continue with its operation. How can i know the wait time for the main governing thread to suspend with its operation till all the other threads die out. Can anyone give me a solution for how to wait till the other threads die out and then continue with the main threads execution... NOTE: All the threads are individual threads, they are not in a single pool..