当前位置: 首页 > 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);}}
}

 

 

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • linux 下 QT5如何编译成32位或64的方法
  • 小白零基础学数学建模系列-Day3-线性回归模型的构建与评估
  • 基于STM32开发的智能农业环境监测系统
  • 看过来!数学建模国赛常见问题汇总
  • 全面介绍`npm`的基本使用
  • ISAM2运行流程
  • Mojo 实现排序功能
  • 编程框架、编程脚手架与编程项目模板
  • docker 部署 sql server
  • c++并发编程面试题
  • uniapp获取swiper中子组件的内容高度
  • ffmpeg 命令图片和视频转换
  • 【资源】wordpress 子比主题
  • 【数据结构和算法】(基础篇二)——链表
  • Centos 7.9 安装 图解版 小白必看 最新
  • 10个确保微服务与容器安全的最佳实践
  • 2017年终总结、随想
  • Angular数据绑定机制
  • JavaScript设计模式系列一:工厂模式
  • MySQL用户中的%到底包不包括localhost?
  • nginx 配置多 域名 + 多 https
  • PHP变量
  • Redis学习笔记 - pipline(流水线、管道)
  • 从重复到重用
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 微信支付JSAPI,实测!终极方案
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​iOS实时查看App运行日志
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • # Apache SeaTunnel 究竟是什么?
  • #pragma pack(1)
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (03)光刻——半导体电路的绘制
  • (145)光线追踪距离场柔和阴影
  • (层次遍历)104. 二叉树的最大深度
  • (二)Linux——Linux常用指令
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (接口封装)
  • (九十四)函数和二维数组
  • (七)glDrawArry绘制
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (一)WLAN定义和基本架构转
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • *上位机的定义
  • .net core 6 redis操作类
  • .net dataexcel winform控件 更新 日志