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

 

 

 

http://www.lryc.cn/news/422812.html

相关文章:

  • C#小桌面程序调试出错,如何解决??
  • Seatunnel Mysql数据同步到Mysql
  • Java Web —— 第五天(请求响应1)
  • 【LLMOps】手摸手教你把 Dify 接入微信生态
  • Ftrans文件摆渡方案:重塑文件传输与管控的科技先锋
  • LaTeX中的除号表示方法详解
  • DID、DID文档、VC、VP分别是什么 有什么关系
  • 网络安全应急响应
  • Qt数据和视图分离——中MCV和MVVM
  • 重定义变量类型:如#define FLOAT float和typedef float FLOAT的区别
  • Qt 使用阿里矢量图标库
  • 仓颉语言运行时轻量化实践
  • 深入理解Python中的subprocess模块
  • 从零开始搭建 EMQX 集群压测框架
  • ArkUI基本介绍
  • vue2+OpenLayers 天地图上打点并且显示相关的信息(2)
  • c++继承(二)
  • 低代码开发的崛起:机遇与挑战
  • Json-JacksonUtils工具类
  • svn客户端装完后没有svn.exe
  • TinyWebserver的复现与改进(4):主线程的具体实现
  • DaemonSet 不能帮助我们做什么事情?
  • 开源模型应用落地-LangChain高阶-记忆组件-RedisChatMessageHistory正确使用(八)
  • 解决Openwrt 串口默认是没有密码的方法
  • 【vue讲解:v-model 之 lazy、number、trim、与后端交互、小电影案例】
  • ECCV 2024 | 南洋理工三维数字人生成新范式:结构扩散模型
  • 2024.8.13-算法学习(原创+转载)
  • beautifulsoup的简单使用
  • 【Python】Jupyter Notebook的安装及简单使用
  • 中国自动驾驶出租车冲击网约车市场