码迷,mamicode.com
首页 > 编程语言 > 详细

后台线程(守护线程)

时间:2015-02-07 12:59:21      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

有一种线程,它是在后台运行的,它的任务是为其他的线程提供服务,这种线程被称为“后台线程”(Daemon Thread),又称为“守护线程”。

典型的后台线程是定时器”Timer"线程,他负责将固定的时间间隔发送给其他的线程。

后台线程经常用于任务结束时的善后处理。另外,后台线程的优先级要比其他的线程优先级低。

和后台线程相比,一般的线程称为“用户线程”。如果一个应用中只有后台线程在运行,JVM将退出该应用程序。

可以通过setDaemon(boolean d)来将一个普通的线程设置为后台线程。用方法isDaemon()可以用于测试特定的线程是否为后台线程。

package com.liujl.thread;

public class DaemonThread extends Thread{
    @Override
    public void run() {
        while(true){
            System.out.println("DaemonThread is running...");
        }
    };
    
    public static void main(String[] args) {
        DaemonThread dt=new DaemonThread();
    //    dt.setDaemon(true);
        dt.start();
    }
    /**
     * dt.setDaemon(true),设置了dt线程为守护线程,这时调用start();
     * 在dt这个线程执行一段时间后将会自动退出,这是因为线程调度程序在监测到只有
     * 一个后台线程在运行的时候,它就终止这个引用程序的运行。
     * 
     * 读者可以把第13行的代码去掉,再次运行这个引用,此时这个应用程序将永无止境的运行下去。
     */
}

后台线程(守护线程)

标签:

原文地址:http://www.cnblogs.com/qq-757617012/p/4278620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!