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

JAVA基础:线程优先级和精灵线程

目录

前言

线程优先级

精灵线程


前言

线程存在的目的是为了提升代码的效率,以前的程序只有主线程自己执行是串行的,这样的代码效率低 ,多线程执行的代码是并行的,多个线程同时执行代码,这样的效率高,但是线程并不是越多越好,线程的执行需要获取CPU才能执行,而CPU的数量是有限的,并且java的线程还是抢占式的,这时就会出现一个问题,如果有一个线程要执行的代码是更重要的,我们需要让这个线程更早的执行,如果线程的优先级都一样就可能会导致这个线程一直抢不到CPU

线程优先级

我们可以给线程手动设置优先级,设置更高的优先级可以增加线程抢到CPU的几率

注意:并不是优先级更高就一定比优先级低的线性先抢到CPU,只是获得CPU的几率更大

thread.setPriority(9);

可以使用上面的方法设置线程优先级

通过源码可知,线程优先级的最小值是1,默认是5,最大是10

精灵线程

精灵线程也叫守护线程,是可以通过方法设置的

     Thread thread = new Thread();thread.setDaemon(true);

通过这个方法可以将一个线程设置为精灵线程

守护线程是用来守护主线程的,我们创造的所有线程都叫做用户线程,如果主线程执行完了自己的代码,而用户线程没有执行完毕,这时主线程就会卡住,等待用户线程执行完毕再结束程序

守护线程的作用就是如果主线程执行完毕,不管守护线程是否执行完毕,主线程都会结束程序

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CGAL GIS 应用 - 从点云到DTM
  • 勇于尝试,永远行动 - 《洛克菲勒写给儿子的38封信》读书笔记
  • 计算机毕业设计 扶贫助农系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 题目:单调栈
  • Java自学之路:掌握接口的艺术
  • fpga系列 HDL:全连接层的浮点数乘法器FM实现
  • maya的重命名物体和材质工具(带ai过程)
  • 机器学习 vs 深度学习:深入浅出解析两者的区别
  • 【Java基础】String详解
  • overleaf如何引用文献
  • 时序预测 | Matlab实现SSA-TCN麻雀搜索算法优化时间卷积网络时序预测-递归预测未来数据(单输入单输出)
  • 【每日刷题】Day123
  • Java 21的Enhanced Deprecation的笔记
  • Android生成Java AIDL
  • URL.createObjectURL 与 FileReader:Web 文件处理两大法宝的对比
  • ES6指北【2】—— 箭头函数
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • centos安装java运行环境jdk+tomcat
  • chrome扩展demo1-小时钟
  • CSS居中完全指南——构建CSS居中决策树
  • Java 内存分配及垃圾回收机制初探
  • Java超时控制的实现
  • js写一个简单的选项卡
  • maya建模与骨骼动画快速实现人工鱼
  • MySQL QA
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Python学习笔记 字符串拼接
  • Redis字符串类型内部编码剖析
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 构建二叉树进行数值数组的去重及优化
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 聊聊sentinel的DegradeSlot
  • 如何设计一个微型分布式架构?
  • 实战|智能家居行业移动应用性能分析
  • 首页查询功能的一次实现过程
  • 一天一个设计模式之JS实现——适配器模式
  • 在weex里面使用chart图表
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​queue --- 一个同步的队列类​
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​VRRP 虚拟路由冗余协议(华为)
  • # 达梦数据库知识点
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $forceUpdate()函数
  • (0)Nginx 功能特性
  • (C)一些题4
  • (poj1.2.1)1970(筛选法模拟)
  • (web自动化测试+python)1
  • (第30天)二叉树阶段总结
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (四)软件性能测试
  • (转)视频码率,帧率和分辨率的联系与区别
  • ./configure,make,make install的作用
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .chm格式文件如何阅读