java的守护线程:具体定义我也不太清楚,百度和谷歌了看的也不是很明白,但是啊,下边有给出一个例子自己领悟吧。

一、计时器的Timer声明时是否声明为守护线程对计时器的影响。

/**
*
*/
package timer_test; import java.util.Date;
import java.util.Timer;
import java.util.TimerTask; /**
* @author 9082046**@qq.com
*
*/
public class TimerSchedule
{ /**
* @param args
*/
public static void main(String[] args)
{
long timestamp = System.currentTimeMillis();
Date date=new Date();
date.setTime(timestamp+2*1000);//计时器两秒后输出:2和时间戳。 Timer timer=new Timer(true);//是否设置成守护进程,true和false。
OneTask task=new OneTask();
System.out.println("1:"+timestamp);
timer.schedule(task, date); try
{
//如果取消主线程的睡眠,在守护线程设置成true时 2和时间戳的输出语句将不会被执行。
Thread.sleep(5*1000);//
}
catch (InterruptedException e)
{ }
}
} class OneTask extends TimerTask
{
public void run()
{
long timestamp = System.currentTimeMillis();
System.out.println("2:"+timestamp);
}
}

假设称负责启动守护线程的线程为主线程,在主线程中新启动的且被设置成守护:true的线程称为辅助线程。

如果主线程的任务走到终点了,则不管辅助线程的任务是否完成了、辅助线程一定会被终结的。

如上边代码中的主线程的睡眠5秒的代码被注释掉,则定时器的TimerTask中的输出语句不会被执行的。

个人感觉:类似于erlang的spawn_link,具体场景为:当前进程设置成捕获退出信号、当前进程spawn_link的进程未捕获退出信号。

java守护线程。的更多相关文章

  1. Java守护线程

    最近的项目使用的是dubbo.Web工程发布在Tomcat上,会作为消费者调用其他的dubbo微服务.但是最近发现一个问题,在使用shutdown命令关闭tomcat的时候,Tomcat并没有真正关闭 ...

  2. 白话JAVA守护线程

    OneCoder(苦逼Coder)原创,转载请务必注明出处: http://www.coderli.com/archives/daemon-thread-plain-words/ 关于“白话”:偶然想 ...

  3. 转:JAVA守护线程

    原文地址:https://www.cnblogs.com/wxgblogs/p/5417503.html 详细内容看原文~  ,写的挺好的 在Java中有两类线程:User Thread(用户线程). ...

  4. Java 守护线程概述

    原文出处: 朱小厮 Java的线程分为两种:User Thread(用户线程).DaemonThread(守护线程). 只要当前JVM实例中尚存任何一个非守护线程没有结束,守护线程就全部工作:只有当最 ...

  5. JAVA - 守护线程(Daemon Thread)

    转载自:http://www.cnblogs.com/luochengor/archive/2011/08/11/2134818.html 在Java中有两类线程:用户线程 (User Thread) ...

  6. java 守护线程整理

    java中finally语句不走的可能存在system.exit(0)与守护线程 线程sleep采用TimeUnit类 设定线程的名字thread.getcurrentThread().setName ...

  7. Java 守护线程(Daemon) 例子

    当我们在Java中创建一个线程,缺省状态下它是一个User线程,如果该线程运行,JVM不会终结该程序.当一个线被标记为守护线程,JVM不会等待其结束,只要所有用户(User)线程都结束,JVM将终结程 ...

  8. 从 JVM 视角看看 Java 守护线程

    Java 多线程系列第 7 篇. 这篇我们来讲讲线程的另一个特性:守护线程 or 用户线程? 我们先来看看 Thread.setDaemon() 方法的注释,如下所示. Marks this thre ...

  9. java守护线程的理解

    package daemonThread; /*setDaemon(true)方法将线程设置为守护线程,线程的Daemon默认值为false * 只要当前JVM实例中存在任何一个非守护线程没有结束,守 ...

随机推荐

  1. C#:(问题)已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭

    解决方法如下:1.不同的reader对象不要共用一个Connection对象.2.不要在while代码段内执行reader.Close();语句.否则继续执行while代码段内语句会报“阅读器关闭时尝 ...

  2. 把一个一中的字段更新另一个表中的t-sql

    UPDATE dbo.CommDescr SET Descr=(SELECT ba.content FROM dbo.blog_article ba WHERE ba.id=3) WHERE Comm ...

  3. C#获取文件的md5

    上代码: //获取MD5 public static string GetMd5Hash(String input) { if (input == null) { return null; } MD5 ...

  4. android何如获取SIM卡提供国家代码(ISO)

    TelephonyManager telManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); telMana ...

  5. unity, Root Motion

    (引自:http://tieba.baidu.com/p/4323644080) 然后详细看了下这个文档:http://docs.unity3d.com/Manual/RootMotion.html ...

  6. Atitit.spring体系结构大总结

    Atitit.spring体系结构大总结 1. Srping mvc 1 2. Ioc 4 3. ApplicationContext在BeanFactory的基础上构建,区别 4 4. Aop 5 ...

  7. [svc]entrypoint.sh shell脚本解析

    最近搞influxdb绘图,看到其dockerfile的entry.sh,无奈看的不是很懂. 于是查了下.. docker run 通过传参实现配置文件覆盖 实现启动镜像时候可指定配置文件 如果不指定 ...

  8. Objective-c的@property 详解

    转自:http://www.cnblogs.com/andyque/archive/2011/08/03/2125728.html 之前很多网友对我翻译的教程中的Property的使用感到有些迷惑不解 ...

  9. linux 流量控制全攻略(TC)

    TC很是强大啊,很多所谓的硬件路由器,都是基于这个做的. TC介绍 在linux中,TC有二种控制方法CBQ和HTB.HTB是设计用来替换CBQ的.它是一个层次式的过滤框架.TC包括三个基本的构成块: ...

  10. python学习之yummain模块

    定义:`yum`的命令行接口. yummain.main(args) Run the yum program from a command line interface. yummain.hotsho ...