59.Java-后台线程

后台线程

在后台运行的线程,其目的是为其他线程提供服务,也称为守护线程,JVM的垃圾回收线程就是典型的后台线程

特点:若所有的前台线程死亡,后台线程自动死亡,前台线程没有结束,后台线程没有运行完之前是不会结束的.

测试线程对象是否为后台线程:使用thread.is.Daemon();

前台线程创建的线程默认是前台线程,可以通过setDaemon(true)方法设置为后台线程,并且当且仅当后台线程创建的新线程时,新线程是后台线程

设置后台线程,thread.setDamon(true),该方法必须在start方法前调用,否则会出现IllegalThreadStateException.

示例代码

package com.test.Thread_02;

class DaemonClass extends Thread{

    @Override
    public void run() {
        // TODO Auto-generated method stub
        super.run();
        System.out.println("DaemonClass is daemon-->"+this.isDaemon());
    }   
    
}

public class DaemonDemo {
    
    public static void main(String[] args) {
        
        DaemonClass d = new DaemonClass();
        for (int i = 0; i < 50; i++) {
            if (10 == i) {
                d.setDaemon(true);
                d.start();
            }
            System.out.println("main thread");
        }
    }
    
}

你可能感兴趣的:(59.Java-后台线程)