很多人都迷糊守护线程和正常的线程有什么区别,我只想说一下我的理解。
首先代码上的区别:
java里面创建线程有两种方式,一个是实现Runnable接口,另一个就是集成Thread,创建守护线程,就是通过调用
Thread的setDaemon(true);,调用start之后,这个线程就是守护线程啦,代码上就这么点区别。不解释了,大家应
该都明白了。
另外有一点要提的就是,你创建的线程,里面还是可以创建子线程的,如果父线程是守护线程的话,那么子线程也是守护线程,反之正常的线程也是一样的。
运行之后的区别(thread调用start之后):
执行之后,说白了,区别就是,你的程序执行完了(什么叫完了,就是主线程执行结束了),守护线程不管有没有执行完,都会结束退出。正常的线程则会等到自己执行完之后才退出。这样说大家没什么感觉。那下面先说点其他的:
java 虚拟机什么时候停止退出:
1.调用了 Runtime 类的 exit 方法,并且安全管理器允许退出操作发生。
2.非守护线程的所有线程都已停止运行,无论是通过从对 run 方法的调用中返回,还是通过抛出一个传播到 run 方法之外的异常。
第一条咱么不考虑了,强制退出那没办反,是线程就得结束直接退出,第二条大家有没有想到什么,对,说白了就是所有的正常线程执行完了,jvm就可以停止退出了,换句话说,就是剩下的所有线程都是守护线程的时候jvm就可以退出了。ok,再简单点说就是守护线程的生命周期不会比JVM还长,正常线程可以。剩下的大家自己去理解吧。
这周刚开始写blog目的很简单:
- 分享知识
- 记录自己学习的知识
- 希望大家可以留言讨论,学习更多的知识
分享到:
相关推荐
java daemon 程序,有助于理解守护线程的概念和使用
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 。下面通过本文给大家分享java守护线程实例详解,需要的朋友参考下吧
Java 的守护线程 Java 守护线程,看这篇文章就对了!Java 的守护线程什么是Java的守护线程( Daemon Thread )?守护线程的区别?守护线程的作用?守护线程如何创建?守护线程如何判断?守护线程使用的注意事项总结 ...
主要介绍了浅谈java的守护线程与非守护线程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Java守护线程用法,结合实例形式分析了java守护线程相关的原理、用法及相关操作注意事项,需要的朋友可以参考下
Java线程:线程的调度-守护线程 Java线程:线程的同步-同步方法 Java线程:线程的同步-同步块 Java线程:并发协作-生产者消费者模型 Java线程:并发协作-死锁 Java线程:volatile关键字 Java线程:新特征-线程池 ...
Java线程:线程的调度-守护线程 Java线程:线程的同步-同步方法 Java线程:线程的同步-同步块 Java线程:并发协作-生产者消费者模型 Java线程:并发协作-死锁 Java线程:volatile关键字 Java线程:新特征-...
很多人对java的线程不是很了解,甚至连守护线程都么有听过,其实很简单,守护线程就是普通的线程,区别再于,他就是类似一个秘书一样,记录着所有的非守护线程的信息等等,守护线程,是指为工作线程做相关统计、汇总...
Java线程:线程的调度-守护线程 28 Java线程:线程组 30 Java线程:线程的同步 33 一、 同步方法 35 二、 同步块 36 三、 volatile关键字 38 四、 使用synchronized关键字要注意以下四点 39 五、 关于同步和锁定的...
本篇文章主要介绍了浅谈java中守护线程与用户线程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了java守护线程与非守护线程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...
Java多线程机制 9.1 Java中的线程 9.2 Thread的子类创建线程 9.3 使用Runable接口 9.4 线程的常用方法 9.5 GUI线程 9.6 线程同步 9.7 在同步方法中使用wait()、notify 和notifyAll()方法 ...9.11 守护线程
主要介绍了Java中的守护线程与普通线程,帮助大家更好的理解和学习Java 多线程,感兴趣的朋友可以了解下
意思是Java平台把操作系统的底层给屏蔽起来,所以它可以在它自己的虚拟的平台里面构造出对自己有利的机制,而语言或者说平台的设计者多多少少是收到Unix思想的影响,而守护线程机制又是对JVM这样的平台凑合,...
主要介绍了Java后台线程操作,结合实例形式分析了java守护线程相关原理、操作技巧与使用注意事项,需要的朋友可以参考下
精灵线程(Daemon)或守护线程---马克-to-win java视频
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 作用 Daemon的作用是为其他线程的运行提供便利服务,守护线程典型的应用是 GC (垃圾回收器),它是一个很称职的守护者。 区别 ...