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

线程类最终布尔 isDaemon()

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

  • 此方法用于检查当前线程是否是守护程序线程。

  • 守护程序线程是在后台运行的线程。

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

  • 此方法是最终方法,我们不能在子类中覆盖此方法。

  • 此方法的返回类型为boolean,因此如果线程为守护程序,则返回true;如果线程为用户线程,则返回false。

语法:

    final boolean isDaemon(){
    }

参数:

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

返回值:

此方法的返回类型为boolean,如果此线程为守护程序,则返回true,否则返回false。

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

/*  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 IsThreadDaemon extends Thread {
    //run()Thread类的重写方法 
    public void run() {

        //检查守护程序线程的代码
        if (Thread.currentThread().isDaemon()) {

            //显示守护程序线程代码
            System.out.println("Is thread " + getName() + "daemon?" + Thread.currentThread().isDaemon());
        } else {
            System.out.println("Not a Daemon thread" + getName());
        }
    }

    public static void main(String[] args) {

        //创建类IsThreadDaemon的三个对象 
        IsThreadDaemon td1 = new IsThreadDaemon();
        IsThreadDaemon td2 = new IsThreadDaemon();
        IsThreadDaemon td3 = new IsThreadDaemon();

        //td2是由setDaemon(true)方法设置的守护程序线程
        td2.setDaemon(true);

        //通过使用start()方法,我们将开始执行线程
        td1.start();
        td2.start();
        td3.start();
    }
}

输出结果

E:\Programs>javac IsThreadDaemon.java

E:\Programs>java IsThreadDaemon
Not a Daemon threadThread-0
Not a Daemon threadThread-2
Is thread Thread-1daemon?true