线程(二)--线程控制-后台线程

来源:互联网 发布:粒子群优化算法 java 编辑:程序博客网 时间:2024/05/21 09:45
设置线程为后台线程,前台线程结束后,后台线程也就结束了(这个有一个时间差)
setDaemon(boolean on)
检测线程是否是后台线程
isDaemon()
public class DaemonThread extends Thread {
 
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(getName()+""+i);
}
}
 
/**
* @param args
*/
public static void main(String[] args) {
DaemonThread daemonThread=new DaemonThread();
daemonThread.setDaemon(true);
daemonThread.start();
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName()+""+i);
}
 
}
 
}
执行结果:
main0
main1
main2
main3
main4
main5
Thread-00
Thread-01
main6
main7
Thread-02
Thread-03
Thread-04
Thread-05
main8
main9
Thread-06
Thread-07
Thread-08
Thread-09
Thread-010
Thread-011
Thread-012
Thread-013
Thread-014
Thread-015
Thread-016
Thread-017
Thread-018
Thread-019
Thread-020
后台线程应该会执行100次,但是主线死掉之后,jvm通知后台线程结束。后台线程执行到20次的时候结束了
0 0