- 浏览: 3566389 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
java 线程分类-守护线程
守护线程(Daemon) Java有两种Thread:“守护线程Daemon”与“用户线程User”。 我们之前看到的例子都是用户,守护线程是一种“在后台提供通用性支持”的线程,它并不属于程序本体。 从字面上我们很容易将守护线程理解成是由虚拟机(virtual machine)在内部创建的,而用户线程则是自己所创建的。事实并不是这样,任何线程都可以是“守护线程Daemon”或“用户线程User”。他们在几乎每个方面都是相同的,唯一的区别是判断虚拟机何时离开: 用户线程:Java虚拟机在它所有非守护线程已经离开后自动离开。 守护线程:守护线程则是用来服务用户线程的,如果没有其他用户线程在运行,那么就没有可服务对象,也就没有理由继续下去。 setDaemon(boolean on)方法可以方便的设置线程的Daemon模式,true为Daemon模式,false为User模式。setDaemon(boolean on)方法必须在线程启动之前调用,当线程正在运行时调用会产生异常。isDaemon方法将测试该线程是否为守护线程。值得一提的是,当你在一个守护线程中产生了其他线程,那么这些新产生的线程不用设置Daemon属性,都将是守护线程,用户线程同样。 例:我们所熟悉的Java垃圾回收线程就是一个典型的守护线程,当我们的程序中不再有任何运行中的Thread,程序就不会再产生垃圾,垃圾回收器也就无事可做,所以当垃圾回收线程是Java虚拟机上仅剩的线程时,Java虚拟机会自动离开。 守护线程是为其他线程的运行提供便利的线程。守护线程不会阻止程序的终止。 非守护线程包括常规的用户线程或诸如用于处理GUI事件的事件调度线程。 程序可以包含守护线程和非守护线程。 当程序只有守护线程时,该程序便可以结束运行。 如果要使一个线程成为守护线程,则必须在调用它的start方法之前进行设置(通过以true作为参数调用线程的setDaemon方法,可以将该线程定义为一个守护线程),否则会抛出IllegalThreadStateException异常。如果线程是守护线程,则isDaemon方法返回真。 注:1、如果在线程已经启动后,再试图使该线程成为守护线程,则会导致IllegalThreadStateException异常。 2、事件调度线程是一个无穷循环的线程,而不是守护线程。因而,在基于窗口的应用程序调用System类的exit方法之前,事件调度线程不会终止。 3、不能将关键任务分配给守护线程。这些任务将会在事先没有警告的情况下终止,这可能导致不能正确地完成它们。 |
发表评论
-
snmp
2020-04-13 11:07 438https://www.iteye.com/blog/zhan ... -
snmp
2020-04-10 21:33 574https://blog.csdn.net/qq_333141 ... -
服务器监控软件
2019-12-31 11:07 526[ERROR] org.hyperic.sigar.Sigar ... -
多数据源
2019-12-23 22:09 467https://gitee.com/baomidou/dyna ... -
mybatis多数据源
2019-12-23 18:09 461https://blog.csdn.net/qq_288042 ... -
springboot ueditor
2019-12-17 18:26 390https://blog.csdn.net/u01216982 ... -
java支持多数据源
2019-12-13 15:59 467spxcms是否支持多数据源 ... -
java日志
2019-12-10 12:01 309https://blog.csdn.net/peng_wei_ ... -
spring 多数据源
2019-12-06 09:55 439https://www.jb51.net/article/10 ... -
idea
2019-12-04 17:13 419https://blog.csdn.net/dengachao ... -
手机大屏
2019-11-30 16:02 360http://demo.demohuo.top/modals/ ... -
quarz配置
2019-11-08 11:48 482https://blog.csdn.net/BryantLmm ... -
mysql同步
2019-11-06 12:20 360https://blog.csdn.net/baidu_418 ... -
nginx配置多个服务
2019-11-04 20:35 783https://blog.csdn.net/everljs/a ... -
h5 加壳
2019-11-04 16:05 635https://jingyan.baidu.com/artic ... -
jeui 前端框架
2019-10-22 14:30 1217http://www.jemui.com/demo/ http ... -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/ htt ... -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/ -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/ -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/
相关推荐
精灵线程(Daemon)或守护线程---马克-to-win java视频
Java线程:线程的调度-守护线程 Java线程:线程的同步-同步方法 Java线程:线程的同步-同步块 Java线程:并发协作-生产者消费者模型 Java线程:并发协作-死锁 Java线程:volatile关键字 Java线程:新特征-线程池 ...
JAVA多线程--信号量(Semaphore) 信号量(Semaphore)是一种多线程环境下的设施,负责协调各个线程,以保证它们能够正确、合理地使用公共资源。从概念上讲,信号量维护了一个许可集。 信号量的类型有两种:单值信号...
- 守护线程是为了服务用户线程而存在的,当用户线程结束时,守护线程也会自动结束。 - **题5**:解释`join()`方法的作用。 - `join()`方法使当前线程等待另一个线程结束。 3. **常用方法、生命周期** - **题1**...
Java线程编程是Java开发中的重要组成部分,尤其在构建高性能、高并发的应用程序时不可或缺。本资料"JAVA-JavaThreadProgramming-Sams.zip"提供了一套详细的教程,旨在深入讲解Java中的多线程设计和实现。 Java多...
综上所述,这个压缩包中的"守护线程--源码--练手"项目提供了一个在Windows环境下实现非服务形式的守护线程示例,可以帮助开发者理解和实践Java守护线程的使用。通过阅读和分析源代码,我们可以学习到如何创建、设置...
电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...
"Java守护线程与用户线程详解" Java中的线程可以分为守护线程(DaemonThread)和用户线程(UserThread)两类。守护线程和用户线程的唯一区别是它们对虚拟机的退出(程序的终止)的影响。 当JVM中只有守护线程时,虚拟机会...
守护线程主要用于为应用程序提供后台服务,如垃圾收集器就是守护线程。当所有非守护线程结束后,即使还有守护线程在运行,JVM也会退出。可以通过`setDaemon(true)`方法将线程设置为守护线程。 总结: 理解并熟练...
Java线程有10个优先级,`MIN_PRIORITY`(1),`NORM_PRIORITY`(5)和`MAX_PRIORITY`(10)。较高的优先级并不意味着线程一定先执行,而是增加了获取CPU资源的概率。 5. **守护线程(Daemon)** 守护线程是支持...
### Java线程培训资料知识点详解 #### 一、Java线程基本概念 1. **如何编写与启动线程** - **方式一:继承Thread类** ```java class MyThread extends Thread { @Override public void run() { // 业务逻辑 ...
7. **守护线程和用户线程**:Java线程分为守护线程和用户线程。守护线程主要负责后台服务,例如垃圾回收。当所有用户线程都结束时,守护线程也会自动结束。而用户线程是应用程序的主要执行部分,至少有一个用户线程...
以下是一些关于Java线程的常见面试知识点,这些内容可能出现在线程.doc文档中: 1. **线程的创建方式**: - 实现`Runnable`接口:创建一个类实现`Runnable`接口,并重写`run()`方法,然后将实例传递给`Thread`类的...
在Java编程中,守护线程(Daemon Thread)是一种特殊的线程类型,它的主要作用是为应用程序提供后台服务,而不会阻止程序的退出。当所有的非守护线程(用户线程)结束时,JVM会自动关闭守护线程并退出。在本项目...
Java线程有10个优先级(MIN_PRIORITY, NORM_PRIORITY, MAX_PRIORITY),默认优先级是NORM_PRIORITY。但是,线程优先级并不保证绝对的执行顺序,操作系统调度策略可能影响实际执行顺序。 7. join()方法: 一个线程...
8. **守护线程与用户线程**:解释守护线程(Daemon Thread)的概念,以及它与用户线程的关系,如何创建和使用守护线程。 9. **并发编程最佳实践**:提供一系列实用的并发编程技巧和最佳实践,以提高代码的可读性、...
- Java线程有优先级,通过`setPriority()`方法设置。线程调度策略可能依赖于操作系统的具体实现,但通常优先级高的线程会被优先调度。 5. **多线程的互斥与同步**: - 互斥是指在同一时刻,只有一个线程能访问...
- Java线程有10个优先级,从Thread.MIN_PRIORITY(1)到Thread.MAX_PRIORITY(10),默认优先级是Thread.NORM_PRIORITY(5)。优先级高的线程有机会先获得CPU资源,但并不保证。 4. **守护线程(Daemon)** - ...
Java线程是多任务编程的重要概念,特别是在Java这种支持并发执行的高级编程语言中。Java线程允许程序同时执行多个独立的代码段,这极大地提高了程序的效率和响应性。以下是对Java线程入门的详细讲解: 1. **线程的...