java并发--Daemon后台线程的使用

后台线程提供一种通用的线程服务,这个线程并不属于程序中不可或缺的部分。所以,当所有的非后台线程结束时,程序也就终止了,同时也杀死了所有的后台线程。

所以后台线程不一定会运行完。

import java.util.concurrent.TimeUnit;
/**
 * 后台线程
 * @author Administrator
 *
 */
public class DaemonDemo implements Runnable {

    @Override
    public void run() {
        try {
            while (true) {
                TimeUnit.MILLISECONDS.sleep(100);// 线程sleep
                System.out.print(Thread.currentThread() + "" + this);
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            Thread daemon = new Thread(new DaemonDemo());
            daemon.setDaemon(true);//设置为后台线程
            daemon.start();
        }
    }
    
}

 所以这个demo是不会输出任何的数值,因为线程先sleep 100ms,main方法运行完就杀死了所有后台线程。

posted @ 2014-03-18 23:40  菜园的鸟  阅读(168)  评论(0编辑  收藏  举报