public final void join()
The current thread invokes this method on a second thread, causing the current thread to block until the second thread terminates.
We have to use join method when a thread wants to wait until some other thread will complete. Current thread will go in waiting state and it will be in runnable state if:
- Second thread completes.
- Time expires if join method is used with time constraint.
- If waiting thread interrupted.
Example:
JoinThreadExample.java
/** * This program is used to show the join() method example. * @author w3schools */ class Test extends Thread{ public void run(){ for(int i=1;i<=5;i++){ try{ Thread.sleep(600); }catch(Exception e){ System.out.println(e); } System.out.println(i); } } } public class JoinThreadExample { public static void main(String args[]){ //creating thread. Test thrd1 = new Test(); Test thrd2 = new Test(); Test thrd3 = new Test(); thrd1.start(); try{ thrd1.join(); }catch(Exception e){ System.out.println(e); } thrd2.start(); thrd3.start(); } } |
Output:
1 2 3 4 5 1 1 2 2 3 3 4 4 5 5 |
Download this example.
Next Topic: Daemon thread in java with example.
Previous Topic: Naming a thread in java with example.