java sleep的意义_thread.sleep的作用是什么
thread.sleep的作用是什么:
(一)CPU竞争策略
在操作系统中,CPU竞争有很多策略,Unix系统采用的是时间片算法,而Windows采用的是抢占式的。
(1).
在时间片算法中,所有的进程排成一个队列。操作系统按照他们的顺序,给每个进程分配一段时间,即该进程允许运行的时间。如果在 时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程 序所要做的就是维护一张就绪进程列表,,当进程用完它的时间片后,它被移到队列的末尾。
(2).
抢占式操作系统,就是说如果一个进程得到了 CPU 时间,除非它自己放弃使用 CPU ,否则将完全霸占 CPU 。因此可以看出,在抢占式操作系统中,操作系统假设所有的进程都是“人品很好”的,会主动退出 CPU 。在抢占式操作系统中,假设有若干进程,操作系统会根据他们的优先级、饥饿时间(已经多长时间没有使用过 CPU 了),给他们算出一 个总的优先级来。操作系统就会把 CPU 交给总优先级最高的这个进程。当进程执行完毕或者自己主动挂起后,操作系统就会重新计算一次所有进程的总优先级,然后再挑一个优先级最高的把 CPU 控制权交给他。
(二)据上所述,总结出Thread.Sleep()的作用就是告诉操作系统“在未来的多少毫秒内我不参与CPU竞争";
那么有两个问题:
(1).Thread.Sleep(0)的作用是啥?
Thread.Sleep(0)的作用就是“触发操作系统立刻重新进行一次CPU竞争”。竞争的结果也许是当前线程仍然获得CPU控制权,也许会换成别的线程获得CPU控制权。这也是我们在大循环里面经常会写一句Thread.Sleep(0) ,因为这样就给了其他线程比如Paint线程获得CPU控制权的权力,这样界面就不会假死在那里。
(2).假设现在调用了Thread.Sleep(1000),那么在1秒以后这个线程一定会被唤醒么?
答案是:不一定。因为你只是告诉操作系统:在未来的1000毫秒内我不想再参与到CPU竞争。那么1000毫秒过去之后,这时候也许另外一个线程正在使用CPU,那么这时候操作系统是不会重新分配CPU的,直到那个线程挂起或结束;况且,即使这个时候恰巧轮到操作系统进行CPU 分配,那么当前线程也不一定就是总优先级最高的那个,CPU还是可能被其他线程抢占去。
推荐教程: 《java教程》
java sleep的意义_thread.sleep的作用是什么相关推荐
- java接口和抽象类的区别和作用
java接口和抽象类的区别和作用 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过(implements)接口的方 ...
- 博客 学院 下载 更多 zxy18210943475 java 和 、|| 和 | 的区别和作用
博客 学院 下载 更多 zxy18210943475 java && 和 &.|| 和 | 的区别和作用 原创 2016年12月15日 23:58:22 标签: java 6 ...
- EL在java里的意义
EL在java里的意义: EL的语法很简单,他最大的特点就是使用上很方便 例: ${sessionScope.user.sex} 所有EL都是以 ${ 为起始.以} 为结尾的. 上述EL范例的意思是: ...
- java 四字节uid,Java入门教程-序列化版本号serialVersionUID的作用
原标题:Java入门教程-序列化版本号serialVersionUID的作用 Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象.序列化是Java中实现持久化存储的一种方法 ...
- Java 方法使用final 修饰参数的作用
Java 方法使用final 修饰参数的作用 查看全文 http://www.taodudu.cc/news/show-1232640.html 相关文章: MYSQL 数据库怎样快速的复制表以及表中 ...
- Java之String系列--intern方法的作用及原理
原文网址:Java之String系列--intern方法的作用及原理_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Java的String的intern方法的原理. 常量池简介 在 JAVA 语言中 ...
- Java内部类的四种分类以及作用
本文转载自:Java内部类的四种分类以及作用 一.内部类内容解析 1. 内部类的区分 内部类分别有成员内部类.局部内部类.匿名内部类.静态内部类,接下来将分别介绍. 2. 成员内部类 就是位于外部类成 ...
- java中类可以包含哪些元素,Java类中包含的元素及作用
Java类是面试中常考的知识点,是组成Java应用的基本成分,小型和大型的应用都是由类组建而成的.作为合格的Java工程师,一定要清晰了解Java类及其包含的元素及作用,今天学码思Java培训老师就J ...
- 请说明一下JAVA中反射的实现过程和作用分别是什么?
请说明一下JAVA中反射的实现过程和作用分别是什么? Java语言编译后形成.class文件,反射就是通过字节码文件找到一个类,类中的方法及属性等.反射的实现主要通过四个类 Class 类的对象 Co ...
最新文章
- MVC页面加载速度优化小记
- linux 上oracle安装
- fast-rcnn练习资料整理
- java jsp js xml_jsp实现将信息放入xml中的方法
- 通信网络基础期末复习-第五章-路由算法
- 福师大协和学院计算机老师,福建师范大学协和学院新进教师福利问题访谈
- 浏览器缓存机制的研究分享
- 软件配置管理(五)常用重构技巧
- Idea工具开发 SpringBoot整合JSP(毕设亲测可用)
- 从像素坐标到相机坐标_【视觉知识】机器视觉几何坐标概论
- 聚集索引表插入数据和删除数据的方式是怎样的
- 从二进制数据流中构造GDAL可以读取的图像数据
- Hadoop学习心得
- 用HTML+CSS做一个漂亮简单的个人网页
- 一款很好用的软还原卡
- 第18章 基于物理的渲染
- 怎样推导圆面积计算公式?
- 读书,什么时候能改变命运
- 腾讯云服务器有多垃圾,清理腾讯云服务器的各种垃圾日志
- 【MySql】windows下重置数据库密码