Java Wait for thread to finish
Thread
has a method that does that for you join which will block until the thread has finished executing.
You could use a CountDownLatch
from the java.util.concurrent
package. It is very useful when waiting for one or more threads to complete before continuing execution in the awaiting thread.
For example, waiting for three tasks to complete:
CountDownLatch latch = new CountDownLatch(3);
...
latch.await(); // Wait for countdown
The other thread(s) then each call latch.countDown()
when complete with the their tasks. Once the countdown is complete, three in this example, the execution will continue.