Java线程之后台线程(守护线程)

【Java 多线程 4】Java守护线程 一、在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 1、Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是 GC (垃圾回收器),它就是一个很称职的守护者。 2、User和Daemon两者几乎没有区别,唯一的不同之处就在于虚拟机的离开:如果 User Thread已经全部退出运行了,只剩下Daemon Thread... 阅读详情

后台线程, 是指在程序运行的时候在后台提供一种通用服务的线程,这种线程并不属于不可缺失的部分, 但是为什么还要将一个线程设置为后台线程呢。 各位请听我

个人讲解  ps:若有理解不对请各位提出.

             我们都知道Java为线程提供了Runnable接口 和 Thread类。 若要将线程设置为后台线程可调用Thread的 setDaemon()方法。

                            Thread  t = new Thread();  

t.setDaemon(true);  //true 为后台线程 反之 参数里面若为 false 则为后台线程.

但是此发法一定要在线程开始执行之前设置 否则会抛出异常。

之所以有的时候要在开辟的线程当中设置线程为后台线程是因为后台线程会随着程序的结束而结束。 而前台线程并不会随着程序的结束而结束。 下面给出测试代码:

import java.util.*;


public class RunnableTest implements Runnable {
private String name;


public static void main(String args[]) {
RunnableTest r = new RunnableTest("thread1");
Thread t = new Thread(r);
t.setDaemon(true);  //后台线程
t.start();
Scanner cin = new Scanner(System.in);
String y;
y=cin.next();
while(true)
{
if(y.equals("y"))
break;
}


System.out.println("end main");
}
public RunnableTest(String name) {
this.name = name;

}
public void run(){
try {
while(true) {
System.out.println(name);
Thread.sleep(200);
}
}
catch(Exception e) {
System.out.println("Exception");
}
}
}

在这里我们将setDaemon设置为true 也就是后台线程的时候 我们输入y线程会随着前台进程main而结束.任务管理器中的进程列表中的java.exe(也就是本程序的进程)结束。

而如果将参数设置为false 他会陷入死循环直到强制性关闭.

Java后台线程操作示例【守护线程】 主要介绍了Java后台线程操作,结合实例形式分析了java守护线程相关原理、操作技巧与使用注意事项,需要的朋友可以参考下 立即下载

相关推荐

考虑风和浪的影响的旋筒帆船航线优化方法研究

针对旋筒帆船进行航线优化的实现方法,包括升阻力系数的数值模拟、升阻力系数的多元非线性回归建模、旋筒帆船6DOF摇荡运动建模分析以及考虑风、浪影响的旋筒帆船的航线优化研究。

m0_63225885的博客 1165

Java学习:定时器、守护线程

Java学习:定时器、守护线程

weixin_45800731的博客 434

Chapter2、HDR流水线

HDR内容的获取(不同曝光时间的图片合成) 相机响应函数 HDR视频

qq_55621259的博客 2597

Java的后台线程

垃圾回收线程是一个典型的守护线程,当我们的程序中不再有任何运行中的Thread,垃圾回收线程。将线程设置为后台线程;且在Daemon线程中产生的新线程也是Daemon的;,独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。后台线程,也称为守护线程,,在没有用户线程可服务时会自动离开。,用于为系统中其他对象和线程提供服务。1.Java后台线程的定义。2.后台线程的优先级。3.后台线程如何设置。

ggggggzzzzz的博客 461

Splunk CVE-2018-11409认证绕过漏洞深度解析

Splunk作为主流企业级日志分析平台,其Web管理接口的认证机制直接关系到整个安全运营体系的可信边界。CVE-2018-11409本质上是REST API路由层会话校验缺失引发的未授权访问问题,根源在于`/en-US/splunkd/__raw/`路径绕过了splunkweb与splunkd之间的信任链验证,导致配置文件、用户哈希、App源码等敏感信息明文泄露。该漏洞凸显了Web接口权限模型设计失守的风险,尤其在默认配置未加固、HTTPS未启用、初始密码未修改的生产环境中危害急剧放大。结合vulfocus

weixin_30875157的博客 599

【从零搭建到实战运行】基于PX4-1.13与XTDrone的FAST-LIVO2 Gazebo仿真全流程解析

本文详细解析了从零开始搭建基于PX4-1.13飞控、XTDrone仿真框架与Gazebo的FAST-LIVO2无人机仿真平台的全流程。内容涵盖环境配置、Livox雷达插件定制、算法部署与参数调试,旨在帮助开发者快速构建完整的激光-惯性-视觉SLAM仿真环境,并解决集成过程中的常见问题。

weixin_29218509的博客 522

JAVA 后台线程

该其他线程,但是他的监控状态依然保持 者,当指定的时间到了又会自动恢复运行状态。称为线程体,它包含了要执行的这个线程的内容,线程就进入了运行状态,开始运行。方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象。优先级:守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。垃圾回收线程就是一个经典的守护线程,当我们的程序中不再有任何运行的。方法来启动一个线程, 这时此线程是处于就绪状态, 并没有运行。,他是后台线程,它有一个特性,即为用户线程 提供 公共服务,

2301_78021017的博客 307

第三天:Python基础语法详解

Python代码规范与注释最佳实践 摘要: 本文深度解析Python缩进规则与代码结构的技术规范,包括缩进的底层原理、语法规则和错误处理。详细阐述Python注释系统,涵盖行内注释、文档字符串和类型注释等多种形式,并提供工业级代码组织方案。研究显示,良好的缩进可提升40%的代码识别速度,降低50%的认知负荷。文章还对比了Sphinx、pdoc等主流文档生成工具,给出企业级项目中的注释编写原则和模板建议,帮助开发者构建更可维护的Python代码。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1013

Java多线程学习系列(四)之后台线程(守护线程)

Java多线程 后台线程Java多线程一、后台线程的特点概念特点一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 一、后台线程的特点 概念 后台线程:后台线程是指为其他线程提供服务的线程,也称守护线程。 特点  后台线程与前台线程相伴相随,只有当所有前台线程结束生命周期后,后台线程才会结束生命周期。只要有一个后台线程没有运行结束,后台线程就不会结束生命周期。 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用

程序员柱子的博客 1074

卷积码Viterbi译码算法原理及C语言实现

具体而言,卷积码的编码过程是将输入数据和编码器中的状态进行异或操作,输出码字为各个状态对应的结果。Viterbi译码算法是一种最大似然译码算法,根据接收到的含有噪声的码字,寻找出最有可能的原始数据序列。(2) 递推计算:根据接收到的码字和当前状态,计算下一时刻各个状态的路径度量,并记录每个状态的前驱状态。以上代码实现了一个简单的卷积码Viterbi译码算法,通过接收到的码字进行译码,并输出解码结果。(1) 初始化:将所有状态的路径度量初始化为一个很大的值,选择路径度量最小的状态作为起始状态。

2301_79331421的博客 826

如何使用 ABAP 代码调度一个 ABAP 程序,让其以后台作业的方式运行

笔者之前的教程,介绍了如何使用 SM36 一系列事务码,将一个 ABAP 程序,调度成以后台作业方式运行的详细步骤。 38. 如何让 ABAP 报表在后台作业的模式下运行 大家如果照着上述文章的步骤走一遍,会发现这些手动执行的步骤还是有些繁琐的。 有没有可能让这一切都自动化起来,即通过 ABAP 代码去完成呢?当然可以。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1945

【JAVA后端-多线程】

适合多个相同的程序代码的线程去处理同一个资源可以避免java中的单继承的限制增加程序的健壮性,代码可以被多个线程共享,代码和数据独立线程池只能放入实现Runable或callable类线程,不能直接放入继承Thread的类tips:main方法其实也是一个线程。在java中所以的线程都是同时启动的,至于什么时候,哪个先执行,完全看谁先得到CPU的资源。在java中,每次程序运行至少启动2个线程。一个是main线程,一个是垃圾收集线程。

ZERO_HOPE的博客 401

【毕设实战】飞行器目标识别系统:基于YOLOv5的智能检测全流程教程,助你毕设脱颖而出

亲爱的同学,毕设是不是让你既期待创新又担心技术门槛?如果你的毕设方向是计算机视觉、智能检测,那这个绝对能成为你的“毕设王牌”。从数据准备到界面开发,我会把整个项目拆成“傻瓜式”步骤,让你能一步步做出属于自己的毕设成果。

know_F0727的博客 106

Java基础多线程之后台守护线程,setDaemon(true)

classDaemonThreadDemo{publicstaticvoidmain(String[]args){StopThreadstopThread=newStopThread();Threadt1=newThread(stopThread,"t1");Threadt2=...

weixin_30443731的博客 140

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java前台线程(非守护线程)与后台线程(守护线程)

后台线程:指为其他线程提供服务的线程,也称为守护线程。JVM的垃圾回收线程就是一个后台线程。 前台线程:是指接受后台线程服务的线程,也称为非守护线程。,由前台线程创建的线程默认也是前台线程。可以通过isDaemon()和setDaemon()方法来判断和设置一个线程是否为后台线程。 区别: 前台线程会各自运行各自的,都运行结束,java程序进程才会结束,前台线程互不干扰 后台线程需要有前台线...

z_ssyy的博客 587

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

简单理解JAVA中什么是守护线程,什么是非守护线程?

java中守护线程和非守护线程什么是守护线程,什么是非守护线程?java有两种状态的线程守护线程与非守护线程的区别守护线程与非守护线程代码演示区别创建守护线程守护线程:主线程销毁停止,守护线程一起销毁非守护线程:如果主线程销毁,用户线程继续运行且互不影响。 什么是守护线程,什么是非守护线程? java有两种状态的线程 1.守护线程(例如垃圾回收线程:gc线程) 2.非守护线程(用户线程:用户线程即...

yang2812098的博客 5946

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java中什么是守护线程,以及守护线程的应用

1.守护线程含义: 守护线程(即daemon thread),是个服务线程,准确地来说就是服务其他的线程. 2.守护线程白话: 当非守护线程停止,守护线程才停止. 3.DaemonThread Demo public static void main(String[] args) { Thread t3=new Thread() { @Override public vo...

酷毙了耶的博客 1万+

Java中的守护线程与非守护线程

graph TDA[需要线程吗?] --> B{任务特性}B --> |核心业务逻辑<br>必须完成的任务| C[使用非守护线程]B --> |后台服务<br>可中断的任务| D[使用守护线程]C --> E[无需特殊设置]D --> F[显式设置setDaemon(true)]E --> G[确保finally和资源清理]F --> H[避免关键资源操作<br>提供结束机制]基本原则:默认使用非守护线程:保证任务执行完整性和资源安全守护线程用于真正不重要的服务。

yuren_xia的博客 1588

Java的守护线程和非守护线程

一、守护线程         java分为两种线程:用户线程和守护线程         守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。         守护线程和用户...

SlagSea 6931

【java守护线程】

在Java中,守护线程(Daemon Thread)是一种特殊类型的线程,它的作用是为其他线程提供服务。与普通线程相比,守护线程有一个重要的特点,即在所有非守护线程结束时,守护线程会自动退出。需要注意的是,守护线程不能访问非守护线程创建的资源,因为它可能会在非守护线程结束时被中断。例如,在守护线程中创建的文件、打开的网络连接等,在非守护线程结束时可能会被强制关闭。守护线程通常会在程序的启动阶段创建,并在非守护线程结束时自动退出。注意,在Java中,通过设置线程的setDaemon方法将线程设置为守护线程。

qq_31532979的贺公子之数据科学与艺术博客,致力于科技向善,拥抱开源,要用技术的影响力来领导团队,而不是威权和职位! 1309

Java 守护线程的作用 Java 守护线程线程

Java 守护线程的作用 Java 守护线程线程一、概述在看java线程相关的内容时,有一个 daemon thread 守护线程的概念,看方法注释内容,大意是:将此线程标记为守护线程或用户线程。当运行的所有线程都是守护线程时,Java虚拟机将退出。Marks this thread as either a daemon thread or a user thread. The Java Virtual Machine exits when the only threads running are all

HaHa_Sir的博客 3867

守护线程和非守护线程

2023-11-07 碰到了守护线程和非守护线程,查询了相关资料,整理一下,与大家共享

Bananaaay的博客 2249

java守护线程

Java分为两种线程:用户线程和守护线程; 所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。 守护线程和用户线程的没啥本质的区别:唯一的不同之处就在于虚拟机的离开:...

qq_34721505的博客 2384

Java守护线程

守护线程是所有非守护线程的保姆,当所有非守护线程执行完成或退出了,即使还有守护线程在运行,JVM也会直接退出,因此守护线程通常是用来处理一些辅助工作。典型的守护线程如垃圾回收GC线程,当用户线程都结束后,GC也就没有单独存在的必要,JVM直接退出。Java中,通过Thread类,我们可以创建2种线程,分为守护线程和用户线程。当线程设置为守护线程后,主线程一旦执行完毕,程序退出,守护线程也随着立即终止。反之,对于非守护线程,只要有一个在运行,JVM就不会退出。,也就是创建此线程所在的线程。

justlpf的专栏 3201

什么是java的守护线程

线程 是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。每个线程都可以或不可以标记为一个守护程序。当某个线程中运行的代码创建一个新 Thread 对象时,该新线程的初始优先级被设定为创建线程的优先级,并且当且仅当创建线程是守护线程时,新线程才是守护程序。 当 Java 虚拟机启动时,通常都会有单个非守护线程

李建迎的专栏 9328
上一篇: kmp算法
下一篇: 快速排序——java实现
zh_coder
博客等级 码龄12年 31粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值