Java 中用到的线程调度算法是什么?
2024-09-05 07:28:22
计算机通常只有一个 CPU,在任意时刻只能执行一条机器指令,每个线程只有获得
CPU 的使用权才能执行指令.所谓多线程的并发运行,其实是指从宏观上看,各个线
程轮流获得 CPU 的使用权,分别执行各自的任务.在运行池中,会有多个处于就绪状
态的线程在等待 CPU,JAVA 虚拟机的一项任务就是负责线程的调度,线程调度是指
按照特定机制为多个线程分配 CPU 的使用权.
有两种调度模型:分时调度模型和抢占式调度模型。
分时调度模型是指让所有的线程轮流获得 cpu 的使用权,并且平均分配每个线程占
用的 CPU 的时间片这个也比较好理解。
java 虚拟机采用抢占式调度模型,是指优先让可运行池中优先级高的线程占用
CPU,如果可运行池中的线程优先级相同,那么就随机选择一个线程,使其占用
CPU。处于运行状态的线程会一直运行,直至它不得不放弃 CPU。
最新文章
- SQL入门语句之运算符
- problem during schema create,statement create sequence act_evt_log_seq
- javascript总结
- 贪心 Codeforces Round #289 (Div. 2, ACM ICPC Rules) B. Painting Pebbles
- ubuntu自带的gedit编辑器添加Markdown预览插件
- 怎么删除远程登录连接的ip
- ORACLE表建立自增列
- JPA 系列教程13-复合主键-@EmbeddedId+@Embeddable
- 脚本之家 前端jQuery js 学习 网站
- win10ssh连接ubuntu服务器并本地绘图
- 如何用impress.js写有逼格的ppt
- js-ES6学习笔记-Class(3)
- web.xml配置遇到的问题
- INSERT CLAUSE
- 随身Wifi+win7 搭建http代理 域名劫持 抓包 内容篡改实验环境
- Android Fragment解析(上)
- C# 调用键盘
- dedecms 去掉栏目页的预览功能
- poj 1041(欧拉回路+输出字典序最小路径)
- Python 1 数据类型的操作