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

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());    //最后再检查一下线程类的实例的状态
    }
}


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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值