The Java Thread join(long millis, int nanos) method waits at most millis milliseconds plus nanos nanoseconds for this thread to die.
DeclarationFollowing is the declaration for java.lang.Thread.join() method
public final void join(long millis, int nanos) throws InterruptedExceptionParameters
millis − This is the time to wait in milliseconds.
nanos − This is 999999 additional nanoseconds to wait.
This method does not return any value.
ExceptionIllegalArgumentException − if the value of millis is negative the value of nanos is not in the range 0-999999.
InterruptedException − if any thread has interrupted the current thread. The interrupted status of the current thread is cleared when this exception is thrown.
The following example shows the usage of Java Thread join() method. In this program, we've created a thread class ThreadDemo by implementing Runnable interface. In constructor, current thread is retrieved using currentThread() method. Its name is printed and using isAlive(), its status is checked whether thread is live or not.
In main method, We've created a Thread using ThreadDemo and using start() method, thread is started. Now using join(), thread is set to wait for given period and then thread name is printed and again using isAlive(), its status being alive is printed.
package com.tutorialspoint; public class ThreadDemo implements Runnable { public void run() { Thread t = Thread.currentThread(); System.out.print(t.getName()); //checks if this thread is alive System.out.println(", status = " + t.isAlive()); } public static void main(String args[]) throws Exception { Thread t = new Thread(new ThreadDemo()); // this will call run() function t.start(); /* waits at most 2000 milliseconds plus 500 nanoseconds for this thread to die */ t.join(2000, 500); System.out.println("after waiting for 2000 milliseconds plus 500 nanoseconds ..."); System.out.print(t.getName()); //checks if this thread is alive System.out.println(", status = " + t.isAlive()); } }Output
Let us compile and run the above program, this will produce the following result −
Thread-0, status = true after waiting for 2000 milliseconds plus 500 nanoseconds ... Thread-0, status = false
java_lang_thread.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4