Java / Java Multithreading
An example for join(long milliseconds).
package com.tutorials.threading; public class WaitForMSToJoinExample implements Runnable { public static void main(String[] args) throws InterruptedException { WaitForMSToJoinExample myObj = new WaitForMSToJoinExample(); Thread MyThreadObj = new Thread(myObj, "Child Thread"); MyThreadObj.start(); System.out.println("Main thread will wait for the other thread."); MyThreadObj.join(2000); System.out.println("Main thread exited after 2 sec."); } @Override public void run() { try { Thread.sleep(5000); System.out.println(Thread.currentThread().getName() + " completed now."); } catch (InterruptedException e) { e.printStackTrace(); } } }
Output:
Main thread will wait for the other thread.
Main thread exited after 2 sec.
Child Thread completed now.
In the above example, the main thread waited 2 seconds for other thread to complete, however main thread resumed its execution after 2 sec even though the other thread has not completed its execution.
More Related questions...