`
deepfuture
  • 浏览: 4413800 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80142
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70404
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103613
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:286638
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15056
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67846
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32297
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46079
社区版块
存档分类
最新评论

守护线程与普通线程的唯一区别

JVM 
阅读更多

守护线程与普通线程的唯一区别是:当JVM中所有的线程都是守护线程的时候,JVM就可以退出了;如果还有一个或以上的非守护线程则不会退出。(以上是针对正常退出,调用System.exit则必定会退出)  
    
所以setDeamon(true)的唯一意义就是告诉JVM不需要等待它退出,让JVM喜欢什么退出就退出吧,不用管它。

分享到:
评论

相关推荐

    关于Java虚拟机.pdf

    Java中的线程分为两类:守护线程和普通线程。守护线程如垃圾收集器,用于支持JVM的运行,而普通线程是程序执行的主要部分。只要还有普通线程在运行,JVM就不会停止,除非通过`System.exit()`方法显式退出。 JVM的...

    深入java虚拟机.pdf

    守护线程和普通线程是JVM中的两类线程,守护线程主要服务于JVM自身,如垃圾收集线程,而普通线程则是程序的主要执行单元,只要存在至少一个普通线程,JVM就会继续运行。 其次,JVM的体系结构是复杂而严谨的。它由类...

    6第六章知识点整理2

    一旦所有非守护线程(即普通线程)结束,或者有权限调用System.exit()方法,JVM就会停止运行。守护线程是为JVM自身服务的,例如垃圾收集线程,它们在所有非守护线程结束后仍可继续运行,但不会阻止JVM的退出。 JVM...

    JVM原理.docx

    线程分为守护线程和普通线程: - **守护线程**:例如垃圾回收线程等,由JVM自身管理。 - **普通线程**:通常用户编写的线程,如果所有普通线程结束,则JVM将停止运行。 - **停止**:只要Java虚拟机中还有普通线程...

    Java面试总结.pdf

    3. 守护线程:守护线程是为其他线程提供服务的线程,如垃圾回收线程。当只有守护线程运行时,虚拟机将退出。 4. 创建线程的方式:Java中创建线程有三种方式,继承Thread类、实现Runnable接口、使用Callable和Future...

    Java 最常见的面试题(208道).docx

    37. **守护线程**:后台运行,当所有非守护线程结束时,守护线程也随之结束。 38. **创建线程的方式**:实现Runnable接口、继承Thread类、使用ExecutorService的submit()或execute()方法。 39. **Runnable与Callable...

    MS知识点总结.txt

    - 守护线程是在后台运行的服务线程,当所有非守护线程结束时,守护线程也会自动终止。 20. **创建线程的方式** - 实现 `Runnable` 接口。 - 继承 `Thread` 类。 - 使用 `Callable` 和 `Future`。 21. **...

    史上最全java面试,103项重点知识,带目录

    12. **普通类与抽象类的区别**: 普通类可以实例化,而抽象类不能直接实例化,只能作为其他类的父类。抽象类通常用来定义接口。 13. **final修饰抽象类**: 不可以,final与抽象类的概念冲突,final表示不能被...

    1剑盛二面准备试题.txt1剑盛二面准备试题.txt

    37. **守护线程**:守护线程是一种服务线程,在程序运行时提供辅助性服务。当进程中没有其他线程运行时,守护线程将自动结束。 38. **创建线程的方法**:主要有两种,继承Thread类并重写run方法,或者实现Runnable...

    2022面试题5java背诵版本.doc

    daemon线程是后台线程,不会阻止程序退出,除非所有的守护线程都在运行。 5. **异步和同步**:同步操作意味着调用者必须等待结果返回;异步则允许调用者继续执行其他任务,结果通过回调或事件通知。 6. **阻塞和非...

    Java面试题和答案.pdf

    - 守护线程是在后台执行的服务线程,当所有的非守护线程都结束时,守护线程自动结束。 **38. 创建线程有哪几种方式?** - 继承`Thread`类并重写`run()`方法。 - 实现`Runnable`接口并重写`run()`方法,通过`Thread...

    2019最新Java面试题,常见面试题及答案汇总.pdf

    37. **守护线程**:后台运行,不阻碍主线程结束。 38. **创建线程**:实现Runnable接口或继承Thread类。 39. **Runnable和Callable的区别**:Runnable无返回值,Callable有返回值。 40. **线程状态**:新建、就绪、...

    linux 管道

    在这个场景中,我们讨论的是如何利用管道来实现在多进程、多线程环境中的通信,特别是前台进程对后台守护进程的控制以及线程间的同步。 首先,我们需要理解“命名管道”(Named Pipe)。在Linux中,普通管道是匿名...

    Linux内核复习.docx

    在Linux系统中,线程被视为轻量级进程,与普通进程在内核中并无明显区分。创建进程使用`fork()`系统调用,进程退出则调用`exit()`。每个进程有一个任务描述符(task_struct),包含进程的所有信息,并在任务队列中以...

    linuxv1.0三次修改版0712

    - **线程创建与管理:** - 使用`pthread_create()`创建线程。 - 使用`pthread_join()`等待线程结束。 **16. 线程控制** - **线程同步:** - 使用互斥锁(mutex)保护共享资源。 - 使用条件变量实现线程间的...

    通用网络游戏通讯平台

    BS.Play 的核心服务器部分 Comoro ,运行于*NIX 平台上,使用 C 语言开发,采用单进程静态多线程的事件 驱动模型,可以作为普通应用程序和守护进程执行。 Comoro 可以分别部署为 Coin Server、Login Server、Base ...

    Working with Unix Processes

    无论是编写脚本来自动化日常任务,还是开发复杂的多线程应用程序,都需要深入了解进程的内部工作原理。 #### 系统调用 本书中提到了很多重要的系统调用,包括但不限于 `fork()`, `exec()`, `wait()`, `exit()` 等...

Global site tag (gtag.js) - Google Analytics