java.lang.Thread.join(long millis, int nanos)方法實例
java.lang.Thread.join(long millis, int nanos) 方法等待至多為millis毫秒+毫微秒納米秒該線程終止。
聲明
以下是java.lang.Thread.join()方法的聲明
public final void join(long millis, int nanos) throws InterruptedException
參數
-
millis -- 這是等待的毫秒數。
-
nanos -- 這是999999的附加納秒等待時間。
返回值
此方法不返回任何值。
異常
-
IllegalArgumentException -- 如果millis的值是負的,毫微秒的值不在0-999999範圍內。
-
InterruptedException -- 如果任何線程中斷當前線程。當這種異常被拋出當前線程的中斷狀態被清除。
例子
下麵的例子顯示java.lang.Thread.join()方法的使用。
package com.yiibai; 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