How to execute a piece of code only after all threads are done
java, multithreading, runnable
Solution
Just `join()` all threads before your `doLogging()` call:
t1.join();
t2.join();
// the following line will be executed when both threads are done
doLogging();
Note that the order of `join()` calls doesn't matter if you want to wait for all of your threads.
Problem
I have a logging code which needs to be executed after all `Threads`s are executed. ``` Thread t1 = new MyThread(); Thread t2 = new MyThread(); t1.run(); t2.run(); doLogging(); ``` Is there any way to execute `doLogging()` only after both threads are done with their processing. Now that `doLogging()` is called as soon as t1 and t2 are started.