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

【多线程 - 05、后台线程】

后台线程

后台线程,它是在后台运行的,它的任务是为其他线程提供服务,这种线程被称为“后台线程(Daemon Thread)”,又称为“守护线程”或“精灵线程”。JVM的垃圾回收线程就是典型的后台线程。

后台线程的特征

如果所有的前台线程都死亡了,后台线程也会自动死亡。

生成后台线程

调用Thread对象的setDaemon(true)(必须在start方法前调用)可将指定线程设置为后台线程。所有的前台线程都死亡时,后台线程也死亡,程序就退出了。

例子

public class ThreadTest {public static void main(String[] args) {DaemonThread daemonThread= new DaemonThread("后台线程");daemonThread.setDaemon(true);//设置为后台线程,注意必须在start前掉用,否则会报错!daemonThread.start();try {Thread.sleep(5000);//睡眠5秒} catch (InterruptedException e) {e.printStackTrace();}System.out.println("执行完毕");MtThread thread = new MtThread("前台线程");thread.start();//执行流程:因为主线程睡眠了5秒,所以后台线程先打印4次,然后打印执行完毕,再启动前台线程,//因为前台线程间隔为0.5秒,而后台线程间隔为1秒,所以前台线程会打印 前台线程 99 先执行完//主线程运行完,前台线程也运行完,所以后台线程会直接被终止}
}
class DaemonThread extends Thread{public DaemonThread(String name){super(name);}@Overridepublic void run(){for(int i=0;i<100;i++){try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(getName()+"->"+i);}}
}
class MtThread extends Thread{public MtThread(String name) {super(name);}@Overridepublic void run() {for(int i = 0 ; i < 100 ; i ++){try {sleep(500);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(getName() + "   " + i );}}
}
http://www.lryc.cn/news/229078.html

相关文章:

  • C语言之文件操作(剩余部分)
  • 【PC】开发者日志:竞技比赛验证系统强化
  • c++用map,创建类似于python中的字典
  • VuePress介绍及使用指南
  • Spring-Security前后端分离权限认证
  • Django中Cookie和Session的使用
  • 云原生周刊:KubeSphere 3.4.1 发布 | 2023.11.13
  • 逐帧动画demo
  • Mongodb 中,与索引相关的监控指标
  • 图论14-最短路径-Dijkstra算法+Bellman-Ford算法+Floyed算法
  • OpenCV 实现透视变换
  • ChinaSoft 论坛巡礼|开源软件供应链论坛
  • VUE 组合式API
  • 尝试使用php给pdf添加水印
  • ubuntu上安装edge浏览器
  • 动态切换 Spring Boot 打包配置:使用 Maven Profiles 管理 JAR 和 WAR
  • 微信小程序使用阿里巴巴矢量图标
  • 使用JAVA pdf转word
  • 成都瀚网科技有限公司抖音带货的正规
  • windows服务器热备、负载均衡配置
  • samba服务器搭建 挂载远程目录 常用配置参数介绍
  • Ansible命令使用
  • element 周选择器el-date-picker
  • No200.精选前端面试题,享受每天的挑战和学习
  • 前端面试之事件循环
  • sass 封装媒体查询工具
  • 眼科动态图像处理系统使用说明(2023-8-11 ccc)
  • 国际阿里云:提高CDN缓存命中率教程!!!
  • 关于“谈谈你对 ES 的理解”
  • Element-Ui el-table 动态添加行