当前位置: 首页 > news >正文

Java 守护线程练习 (2024.8.12)

        DaemonExercise

package DaemonExercise20240812;public class DaemonExercise {public static void main(String[] args) {// 守护线程// 当普通线程执行完毕之后,守护线程没有继续执行的必要,所以说会逐步关闭(并非瞬间关闭)// 作用:主要是在后台执行一些辅助任务// 1.后台任务执行:守护线程通常用于执行一些不需要用户干预的后台任务,例如日志记录、系统监控等。所以说当主线程退出,不需要监控了,则守护线程也退出// 2.垃圾回收:在Java中垃圾回收是经典的守护线程,在后台运行,自动回收不再使用的后台资源,提高程序运行效率// void setDaemon(boolean on) 将此线程标记为守护线程,若运行的线程都是守护线程,JVM退出MyThread1 myThread1 = new MyThread1();MyThread3 myThread3 = new MyThread3();MyThread2 myThread2 = new MyThread2(); // 该线程是守护线程// 设置守护线程myThread2.setDaemon(true);myThread1.setName("线程1");myThread2.setName("线程2");myThread3.setName("线程3");myThread1.start();myThread2.start();myThread3.start();// 可见,当普通线程全部执行完成之后,守护线程逐步关闭// 若守护线程已经执行完毕,但是还有普通线程还在执行,那么守护线程关闭不会影响其他线程的执行}
}

        MyThread1

package DaemonExercise20240812;public class MyThread1 extends Thread {@Overridepublic void run() {for (int i = 0; i<= 10; i++) {System.out.println(this.getName() + ": " + i);}}
}

        MyThread2

package DaemonExercise20240812;public class MyThread2 extends Thread {@Overridepublic void run() {for (int i = 0; i <= 100; i++) {System.out.println(this.getName() + ": " + i);}}
}

        MyThread3

package DaemonExercise20240812;public class MyThread3 extends Thread {@Overridepublic void run() {for (int i = 0; i<= 40; i++) {System.out.println(this.getName() + ": " + i);}}
}

 

 

 

相关文章:

Java 守护线程练习 (2024.8.12)

DaemonExercise package DaemonExercise20240812;public class DaemonExercise {public static void main(String[] args) {// 守护线程// 当普通线程执行完毕之后&#xff0c;守护线程没有继续执行的必要&#xff0c;所以说会逐步关闭&#xff08;并非瞬间关闭&#xff09;//…...

C#小桌面程序调试出错,如何解决??

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…...

Seatunnel Mysql数据同步到Mysql

环境 mysql-connector-java-8.0.28.jar、connector-cdc-mysql 配置 env {# You can set SeaTunnel environment configuration hereexecution.parallelism 2job.mode "STREAMING"# 10秒检查一次&#xff0c;可以适当加大这个值checkpoint.interval 10000#execu…...

Java Web —— 第五天(请求响应1)

postman Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件 作用:常用于进行接口测试 简单参数 原始方式 在原始的web程序中&#xff0c;获取请求参数&#xff0c;需要通过HttpServletRequest 对象手动获 http://localhost:8080/simpleParam?nameTom&a…...

【LLMOps】手摸手教你把 Dify 接入微信生态

作者&#xff1a;韩方圆 "Dify on WeChat"开源项目作者 概述 微信作为最热门即时通信软件&#xff0c;拥有巨大的流量。 微信友好的聊天窗口是天然的AI应用LUI(Language User Interface)/CUI(Conversation User Interface)。 微信不仅有个人微信&#xff0c;同时提供…...

Ftrans文件摆渡方案:重塑文件传输与管控的科技先锋

一、哪些行业会用到文件摆渡相关方案 文件摆渡相关的产品和方案通常用于需要在不同的网络、安全域、网段之间传输数据的场景&#xff0c;主要是一些有核心数据需要保护的行业&#xff0c;做了网络隔离和划分。以下是一些应用比较普遍的行业&#xff1a; 金融行业&#xff1a;…...

LaTeX中的除号表示方法详解

/除号 LaTeX中的除号表示方法详解1. 使用斜杠 / 表示除号优点缺点 2. 使用 \frac{} 表示分数形式的除法优点缺点 3. 使用 \div 表示标准除号优点缺点 4. 使用 \over 表示分数形式的除法优点缺点 5. 使用 \dfrac{} 和 \tfrac{} 表示大型和小型分数优点缺点 总结 LaTeX中的除号表…...

DID、DID文档、VC、VP分别是什么 有什么关系

DID&#xff08;去中心化身份&#xff09; 定义&#xff1a;DID 是一种去中心化的唯一标识符&#xff0c;用于表示个体、组织或设备的身份。DID 不依赖于中央管理机构&#xff0c;而是由去中心化网络&#xff08;如区块链&#xff09;生成和管理。 用途&#xff1a;DID 允许用…...

网络安全应急响应

前言\n在网络安全领域&#xff0c;有一句广为人知的话&#xff1a;“没有绝对的安全”。这意味着任何系统都有可能被攻破。安全攻击的发生并不可怕&#xff0c;可怕的是从头到尾都毫无察觉。当系统遭遇攻击时&#xff0c;企业的安全人员需要立即进行应急响应&#xff0c;以将影…...

Qt数据和视图分离——中MCV和MVVM

智能指针 一、背景知识二、命令式编程 vs 声明式编程2.1 命令式编程&#xff08;Imperative Programming&#xff09;2.2 声明式编程&#xff08;Declarative Programming&#xff09; 三、 MVC(Model-View-Controller)3.1 模型&#xff08;Model&#xff09;3.2 视图&#xff…...

重定义变量类型:如#define FLOAT float和typedef float FLOAT的区别

在 C 或 C 中&#xff0c; #define 和 typedef 都可以用来为类型或值创建别名&#xff0c;但它们之间存在一些关键的区别&#xff1a; 预处理指令 ( #define ): #define 是预处理器指令&#xff0c;用于定义宏。 当编译器处理源代码时&#xff0c;预处理器会先运行&#…...

Qt 使用阿里矢量图标库

前言 阿里矢量图标库非常好用&#xff0c;里面有各种丰富的图标&#xff0c;完全免费&#xff0c;还支持自定义图标&#xff0c;还可以将图标打包到一个项目中&#xff0c;使用起来非常方便。 第一步&#xff1a; 打开阿里矢量图标库 第二步&#xff1a; 搜索图标&#x…...

仓颉语言运行时轻量化实践

杨勇勇 华为语言虚拟机实验室架构师&#xff0c;目前负责仓颉语言静态后端的开发工作 仓颉语言运行时轻量化实践 仓颉Native后端&#xff08;CJNative&#xff09;是仓颉语言的高性能、轻量化实现。这里的“轻量化”意指仓颉程序运行过程中占用系统资源&#xff08;内存、CPU等…...

深入理解Python中的subprocess模块

目录 subprocess模块简介常用函数执行外部命令管道通信子进程管理错误处理实际应用示例最佳实践 subprocess模块简介 subprocess模块是Python标准库的一部分&#xff0c;提供了一个跨平台的方法来生成新进程、连接其输入/输出/错误管道&#xff0c;并获取其返回码。该模块旨…...

从零开始搭建 EMQX 集群压测框架

从零开始搭建 EMQX 集群压测框架 架构 在设计以EMQX为中心的MQTT消息队列集群压力测试框架时&#xff0c;我们采用微服务架构模式。EMQX作为消息队列的核心&#xff0c;负责处理MQTT协议的消息发布和订阅。Nginx作为EMQX的反向代理&#xff0c;负责负载均衡和SSL/TLS终端。MQT…...

ArkUI基本介绍

ArkUI&#xff1a;提供HarmonyOS应用UI开发框架&#xff0c;几件开发、精致体验、跨设备/跨平台。 ArkUI&#xff08;方舟UI框架&#xff09;为应用的UI开发提供了完整的基础设施&#xff0c;包括简洁的UI语法、丰富的UI功能&#xff08;组件、布局、动画以及交互事件&#xff…...

vue2+OpenLayers 天地图上打点并且显示相关的信息(2)

上次是在地图上打点 这次鼠标移动在图标上面显示相关的信息 首先有两个事件 鼠标移入 和 鼠标移出事件 pointermove pointerout 鼠标放上去之前 放上去后 代码如下 <template><div class"container"><div id"vue-openlayers" class&quo…...

c++继承(二)

一、友元函数的继承 友元函数不能被继承&#xff0c;就像爸爸的朋友不是你的朋友&#xff0c;如果要有友元函数&#xff0c;在子类重新定义一个。 二、静态成员的继承 静态成员的继承仍然是那个成员&#xff0c;普通成员的继承是不同的。 父类的静态成员属于当前类&#xf…...

低代码开发的崛起:机遇与挑战

近年来&#xff0c;“低代码”开发平台的迅速崛起&#xff0c;已经成为IT行业中不可忽视的趋势。这些平台承诺让非专业人士也能快速构建应用程序&#xff0c;通过减少代码编写的需求&#xff0c;大幅提高开发效率。对于许多企业而言&#xff0c;低代码开发工具成为了一个加速数…...

Json-JacksonUtils工具类

为了创建一个通用的 Jackson 工具类,我们可以定义一个名为 JacksonUtils 的工具类,该类将提 供多种方法来支持不同类型的 JSON 转换需求。下面是一个示例实现,包括基本的 JSON 到 Java 对象的转换、Java 对象到 JSON 的转换、以及更复杂的类型如 CommonResult 的转换。 C…...

GitHub Desktop汉化终极指南:3步快速完成中文界面配置

GitHub Desktop汉化终极指南&#xff1a;3步快速完成中文界面配置 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Desktop…...

如何高效部署Label Studio数据标注工具:专业配置实战指南

如何高效部署Label Studio数据标注工具&#xff1a;专业配置实战指南 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/la/label-studio …...

4步实现专业黑苹果配置:OpCore-Simplify零代码自动化解决方案

4步实现专业黑苹果配置&#xff1a;OpCore-Simplify零代码自动化解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify是一款革命性…...

【无人机】模拟无人机在一个移动地面车辆自主着陆垂直起降在受风力干扰和转子推力影响【含Matlab源码 15287期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;Matlab领域博客之家&#x1f49e;&…...

别再乱改注册表了!详解Windows桌面路径修改与explorer进程重启的底层逻辑

Windows桌面路径修改与explorer进程重启的底层逻辑解析 每次修改Windows注册表时&#xff0c;你是否真正理解背后的运行机制&#xff1f;当我们将桌面路径从默认位置迁移到D盘后&#xff0c;简单的"还原默认值"操作有时并不能完全解决问题。这背后涉及Windows Shell …...

LTspice2Matlab:如何实现电路仿真数据到MATLAB的无缝迁移终极方案?

LTspice2Matlab&#xff1a;如何实现电路仿真数据到MATLAB的无缝迁移终极方案&#xff1f; 【免费下载链接】ltspice2matlab LTspice2Matlab - Import LTspice data into MATLAB 项目地址: https://gitcode.com/gh_mirrors/lt/ltspice2matlab 电子工程师的数据孤岛困境&…...

WebDataset压缩算法对比:GZIP、BZIP2与LZMA的性能分析

WebDataset压缩算法对比&#xff1a;GZIP、BZIP2与LZMA的性能分析 【免费下载链接】webdataset A high-performance Python-based I/O system for large (and small) deep learning problems, with strong support for PyTorch. 项目地址: https://gitcode.com/gh_mirrors/we…...

Tensorflow-Cookbook高级特性解析:Partial Conv、Pixel Shuffle与Spectral Norm

Tensorflow-Cookbook高级特性解析&#xff1a;Partial Conv、Pixel Shuffle与Spectral Norm 【免费下载链接】Tensorflow-Cookbook Simple Tensorflow Cookbook for easy-to-use 项目地址: https://gitcode.com/gh_mirrors/te/Tensorflow-Cookbook Tensorflow-Cookbook是…...

如何通过QtScrcpy实现跨平台键鼠映射?4个技术要点让PC精准操控Android游戏

如何通过QtScrcpy实现跨平台键鼠映射&#xff1f;4个技术要点让PC精准操控Android游戏 【免费下载链接】QtScrcpy Android real-time display control software 项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy QtScrcpy作为一款开源的Android设备投屏与控制…...

3秒破解百度网盘提取码:告别资源获取困扰的智能解决方案

3秒破解百度网盘提取码&#xff1a;告别资源获取困扰的智能解决方案 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经面对一个急需的学习资料或软件资源&#xff0c;却因为不知道百度网盘提取码而束手无策&#xff1…...