博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2020-08-05
阅读量:2429 次
发布时间:2019-05-10

本文共 456 字,大约阅读时间需要 1 分钟。

1.Java中用到的线程调度算法

在运行池中,会有多个处于就绪状态的线程在等待CPU,Java虚拟机的一项任务就是负责线程的调度,线程调度是指按照特定机制为多个线程分配CPU的使用权

有两种调度模型:分时调度模型和抢占式调度模型
分时调度模型:让所有的线程轮流获得cpu的使用权,并且平均分配每个线程占用的CPU的时间片
抢占式调度模型Java虚拟机采用抢占式调度模型,抢占式调度模型是指优先让可运行池中优先级高的线程占用CPU,如果可运行池中的优先级相同,那么随机选择一个线程,使其占用CPU

2.线程调度策略

线程调度器选择让优先级最高的线程运行,如果发生下面几种情况,就会终止线程的运行:

  • 线程体中调用yield方法让出cpu的使用权
  • 线程体中调用sleep方法使线程进入睡眠
  • 线程由于I/O操作受到阻塞
  • 另外一个更高优先级线程出现
  • 所获得的时间片用完

3. 什么是线程调度器

线程调度器是一个操作系统服务,它负责为就绪态的线程分配CPU时间一旦我们创建一个线程并启动它,它的执行便依赖线程调度器的实现

转载地址:http://fhjmb.baihongyu.com/

你可能感兴趣的文章
深度对话微软,解读 HoloLens 技术设计细节
查看>>
移动周刊第 191 期:如何看待 Kotlin 成为 Android 官方支持开发语言?
查看>>
物联网浪潮之下,前端工程师如何迎刃而上?
查看>>
从端到云——工业物联网项目全栈快速开发
查看>>
LoRa vs NB-IOT:哪个物联网标准更具优势?
查看>>
移动周刊第 205 期:Google 正式发布 ARCore 预览版、iOS 工程打包速度提升十倍的解决方案...
查看>>
八大 IoT 安全关键技术解析
查看>>
有钱 Python,没钱 PHP,编程语言也嫌贫爱富
查看>>
Docker是啥?容器变革的火花?
查看>>
假如从餐饮店的角度来看架构…
查看>>
这个充电宝太黑科技了,又小又不用自己带线,长见识了~
查看>>
HDC.2019后再发力,AppGallery Connect服务新升级
查看>>
网易云音乐热评的规律,44万条数据告诉你
查看>>
超神!GitHub 标星 5.5w,如何用 Python 实现所有算法?
查看>>
扛住100亿次请求——如何做一个“有把握”的春晚红包系统
查看>>
在北京看场雪为什么这么难?
查看>>
新年了,5G手机芯片,到底买谁?
查看>>
疫情之下「在家办公模式」开启,你该选择哪些远程协同工具?
查看>>
如何使用pdpipe与Pandas构建管道?
查看>>
远程办公的33种预测
查看>>