1.6.線程基礎_守護線程

守護線程

Java有種線程叫做守護(Deamon)線程。這種線程優先級很低,通常是無限循環的,作爲服務提供者。守護線程是的優先級的,而且當程序中只有守護線程時,程序會退出運行。所以守護線程不能做重要的工作,因爲它不能保證什麼時候被分配到資源,也可能會隨時結束。創建守護線程很簡單,只要調用Thread類的setDaemon方法即可。下面用守護線程演示一個時鐘:
public class DaemonThreadDemo {
    public static void  main(String[] args){
        Thread t = new Thread(new DaemoClock());
        System.out.println("main:設置線程是守護線程,並啓動");
        t.setDaemon(true);
        t.start();
        try {
            System.out.println("main:等待5s");
            Thread.sleep(5000);
            System.out.println("main:退出");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

class DaemoClock implements Runnable{
    @Override
    public void run() {
        while(true){
            System.out.println(Thread.currentThread().getName() + ":" + new Date());
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

程序運行日誌:
main:設置線程是守護線程,並啓動
main:等待5s
Thread-0:Wed Apr 16 17:48:50 CST 2014
Thread-0:Wed Apr 16 17:48:51 CST 2014
Thread-0:Wed Apr 16 17:48:52 CST 2014
Thread-0:Wed Apr 16 17:48:53 CST 2014
Thread-0:Wed Apr 16 17:48:54 CST 2014
main:退出


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章