欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java学习笔记72. 操作线程 -- 判断线程是否启动

程序员文章站 2024-02-26 20:06:40
...

isAlive( ) 方法是用来判断线程是否启动的方法。它的返回值是布尔型,启动为true,没启动为false。

下面的代码说明了isAlive的使用方法:

public class demoisAlive extends Thread{    //创建线程类
    public void run(){        //覆盖线程类的run方法
        for(int i=1;i<6;i++)
            printMsg();    //run方法调用printMsg方法
    }
    public void printMsg(){    //被调用的msg方法
        Thread t = Thread.currentThread();       //msg方法中得到当前线程的引用,并存入线程类型的引用变量t
        String name = t.getName();    //使用此引用变量得到当前线程的名字
        System.out.println("new thread name " +name);    //输出这个线程的名字
        System.out.println("new thread status "+t.isAlive());    //输出这个线程的状态
    }
    public static void main(String[] args){
        demoisAlive d = new demoisAlive();    //创建线程类的实例
        System.out.println(d.isAlive());    //输出此线程类的实例的状态
        d.start();    //启动线程类的实例,启动线程
        System.out.println(d.isAlive());    //再次输出此线程类的实例的状态
        for(int i=1;i<6;i++)
            d.printMsg();        //在主方法中直接调用线程类的方法
        System.out.println(d.isAlive());    //最后再检查一下线程类的实例的状态
    }
}

Java学习笔记72. 操作线程 -- 判断线程是否启动

可见,在没有使用start方法启动线程类之前,线程的状态是false;启动了之后,线程的状态才是true。

两个线程交替运行,新的线程完全执行完代码后,再检测其状态,结果是false了(看最后一行)。