28-其他说明
其他说明
Java提供了 join()
方法的另外两个重载版本。
join(long milliseconds)
join(long milliseconds, long nanos)
第一个 join()
方法的重载版本,不是无限期地等待被调用的线程对象执行完毕,而是最多等待参数中指定的毫秒数。例如,如果在 thread1
中调用了 thread2.join(1000)
,那么, thread1
线程暂停执行,直到遇到以下两个条件之一。
thread2
结束执行。- 1000ms的等待时间结束。
只要上述两个条件之一为 true
, join()
方法就会返回。通过线程状态,可以得知 join()
方法是因为执行结束,还是因为指定时间已到而返回。
第二个 join()
方法的重载版本与第一个类似,不同之处在于该方法接收毫秒和纳秒作为参数[2]。