Java.lang.Thread.join() Method



Description

The java.lang.Thread.join(long millis) method waits at most millis milliseconds for this thread to die. A timeout of 0 means to wait forever.

Declaration

Following is the declaration for java.lang.Thread.join() method

public final void join(long millis) throws InterruptedException

Parameters

millis − This is the time to wait in milliseconds.

Return Value

This method does not return any value.

Exception

InterruptedException − if any thread has interrupted the current thread. The interrupted status of the current thread is cleared when this exception is thrown.

Example

The following example shows the usage of java.lang.Thread.join() method.

package com.tutorialspoint;

import java.lang.*;

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 for this thread to die.
      t.join(2000);
      System.out.println("after waiting for 2000 milliseconds...");
      System.out.print(t.getName());
      
      //checks if this thread is alive
      System.out.println(", status = " + t.isAlive());
   }
}

Let us compile and run the above program, this will produce the following result −

Thread-0, status = true
after waiting for 2000 milliseconds...
Thread-0, status = false
java_lang_thread.htm
Advertisements