当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Java.lang.Thread.join()用法及代码示例



描述

这个java.lang.Thread.join(long millis, int nanos) 方法最多等待millis毫秒加nanos该线程死亡的纳秒时间。

声明

以下是声明java.lang.Thread.join()方法

public final void join(long millis, int nanos) throws InterruptedException

参数

  • millis- 这是以毫秒为单位的等待时间。

  • nanos− 这是要等待的额外 999999 纳秒。

返回值

此方法不返回任何值。

异常

  • IllegalArgumentException− 如果millis 的值为负,则nanos 的值不在0-999999 范围内。

  • InterruptedException- 如果任何线程中断了当前线程。抛出此异常时清除当前线程的中断状态。

示例

下面的例子展示了 java.lang.Thread.join() 方法的用法。

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 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());
   }
}

让我们编译并运行上面的程序,这将产生以下结果 -

Thread-0, status = true
after waiting for 2000 milliseconds plus 500 nanoseconds ...
Thread-0, status = false

相关用法


注:本文由纯净天空筛选整理自 Java.lang.Thread.join() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。