Java Thread类的最终boolean isAlive()方法(带示例)

线程类最终布尔 isAlive()

  • 软件包java.lang.Thread.isAlive()中提供了此方法。

  • 此方法用于查找线程是否处于活动状态,因此我们需要知道在哪种情况下,如果start()方法已被调用且线程尚未死亡(例如,线程仍处于运行状态且未完成其运行),则该线程处于活动状态执行)。

  • 此方法不是静态的,因此我们也无法使用类名访问此方法。

  • 此方法的返回类型为boolean,因此如果线程处于活动状态(即线程仍在运行并且尚未完成其执行),则返回true;否则返回false(线程将不会处于运行状态并完成其执行)。

  • 此方法不会引发异常。

语法:

    final boolean isAlive(){
    }

参数:

在Thread方法中,我们不传递任何对象作为参数。

返回值:

此方法的返回类型为boolean,如果线程处于活动状态(即,线程已使用start()方法启动但尚未终止或终止),则返回true;否则返回false。

Java程序演示isAlive()方法示例

/*  We will use Thread class methods so we are importing 
    the package but it is not mandate because 
    it is imported by default
*/

import java.lang.Thread;

class IsThreadAlive extends Thread {
    public void run() {
        try {

            //之前停止了几毫秒 
            // run()方法完成其执行
            Thread.sleep(500);

            //当前线程的显示状态仍然有效 
            System.out.println("Is thread alive in run() method " + Thread.currentThread().isAlive());
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
    public static void main(String[] args) {
        //的类的对象 
        IsThreadAlive alive = new IsThreadAlive();

        //之前仍处于活动状态 
        //调用start()方法 
        System.out.println("Is thread alive before start() call:" + alive.isAlive());

        alive.start();

        //之后,线程的显示状态仍然有效 
        //调用start()方法  
        System.out.println("Is thread alive after start() call:" + alive.isAlive());
    }
}

输出结果

E:\Programs>javac IsThreadAlive.java

E:\Programs>java IsThreadAlive
Is thread alive before start() call:false
Is thread alive after start() call:true
Is thread alive in run() method true