Java多线程之join()和isAlive方法
问题:一个线程如何知道另一线程已经结束?Thread类提供了回答此问题的方法。
有两种方法可以判定一个线程是否结束。
第一,可以在线程中调用isAlive()。这种方法
由Thread定义,它的通常形式如下:
final boolean isAlive( )
如果所调用线程仍在运行,isAlive()方法返回true,如果不是则返回false。 但isAlive()很少用到。第二,等待线程结束的更常用的方法是调用join(),描述如下:
final void join( ) throws InterruptedException
该方法等待所调用线程结束。该名字来自于要求线程等待直到指定线程参与的概念。
join()的附加形式允许给等待指定线程结束定义一个最大时间。
下面是前面例子的改进版本。运用
join()
以确保主线程最后结束。同样,它也演示了
isAlive()
方法。
package runnable;
/**
* 类描述:
*
* @author : HMF
* @date:2022/01/28
**/
/**
* 1、创建多线程继承Thread,重