全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序中的多线程是并发执行的,但这只是宏观现象。对于大多数计算机而言,CPU只有一个,在某个特定的时刻只能执行一条机器指令,多线程的每个线程只有得到CPU的使用权才能执行指令。Java虚拟机按照特定机制为多个线程分配CPU的使用权就是线程的调度。在计算机中,CPU的调度有两种调度模型,分别是分时调度模型和抢占式调度模型。所谓分时调度模型是指让所有的线程轮流获得CPU的使用权,并且平均分配每个线程占用的CPU的时间片。而抢占式调度模型是指优先让可运行池中优先级高的线程占用CPU,如果可运行池中的线程优先级相同,那么就随机选择一个线程,使其占用CPU。处于运行状态的线程会一直运行,直至它不得不放弃CPU。Java虚拟机采用的就是抢占式调度模型,这种默认的方式在很多时候都是适用的,程序员不需要去关心它,但有时候需要改变这种分配的模式,这时则需要控制CPU的调度。JDK中提供了一系列的方法用于控制线程的调度 线程的优先级在线程中有优先级的机制,线程的优先级用110之间的整数来表示,数字越大则表示优先级越高。除了数字,还可以使用Thread类中提供的三个静态常量表示线程的优先级,他们分别是:MAX_PRIORITY、MIN_PRIORITY、NORM_PRIORIY。 优先级高的线程获得CPU执行的机会越大,而优先级低的线程获得CPU执行的机会越小。在默认情况下,每个线程都有自己的优先级,例如main线程具有普通优先级。线程优先级不是固定不变的,通过调用Thread类的setPriority(int newPriority)方法可以进行改变,setPriority()方法的数newPriority接收110之间的数或者Thread类的三个静态常量,代码如下所示: class MaxPriority implements Runnable publicvoid run() for(int i = 0; i 3; i+) System.out.println(Thread.currentThread().getName() +:优先级为高,循环变量为 + i); class MinPriority implements Runnable publicvoid run() for(int i = 0; i 3; i+) System.out.println(Thread.currentThread().getName() +:优先级为低,循环变量为 + i); public class Example06 publicstatic void main(String args) ThreadminPriority = new Thread(new MinPriority(); ThreadmaxPriority = new Thread(new MaxPriority(); minPriority.setPriority(Thread.MIN_PRIORITY); maxPriority.setPriority(10); minPriority.start(); maxPriority.start(); 运行结果为: Thread-1:优先级为高,循环变量为0 Thread-1:优先级为高,循环变量为1 Thread-1:优先级为高,循环变量为2 Thread-0:优先级为低,循环变量为0 Thread-0:优先级为低,循环变量为1 Thread-0:优先级为低,循环变量为2 在程序中创建了两个线程minPriority和maxPriority,分别将线程的优先级设置为1和10,从运行结果可以看出优先级高的maxPriority线程先运行完毕后优先级低的minPriority线程才开始运行。 虽然Java中提供了10个线程优先级,但这些优先级需要操作系统的支持,然而,不同的操作系统支持的优先
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区建设交互协议书
- 2024年12月大学英语六级考试真题第2套(含答案)
- 2026年高端鲜花定制公司费用报销管理制度
- 装修公司设计师工作规范
- 器械训练教学讲解
- 环境描写片断训练
- 2025-2026学年安徽省百师联盟高三上学期9月调研考试历史试题
- 2024-2025学年天津市津南区部分学校高一上学期11月期中联考地理试题(解析版)
- 2024-2025学年江苏省南京市高一上学期期末考试历史试题(解析版)
- 作业设计汇报展示
- 装修公司施工制度总则参考
- 初中英语比较级和最高级专项练习题含答案
- 水文比拟法估算年径流量举例 (1)讲解
- 商务宴请的点菜技巧课件
- 软件开发chapter3(软件分析与设计CASE工具)
- 低压柜试验报告
- 单招协议培训
- 扑克牌搭高塔 课件(16张PPT) 小学班会活动
- 2023学年完整公开课版插座安装
- 医疗机构麻醉药品和精神药品的使用管理
- GB/T 3672.1-2002橡胶制品的公差第1部分:尺寸公差
评论
0/150
提交评论