后台线程
在后台运行的线程,其目的是为其他线程提供服务,也称为守护线程,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");
}
}
}