java 5 线程 睡眠,Java线程之线程的调度-休眠
Java线程之线程的调度-休眠
白玉 IT哈哈
Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。
这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。
线程休眠的目的是使线程让出CPU的最简单的做法之一,线程休眠时候,会将CPU资源交给其他线程,以便能轮换执行,当休眠一定时间后,线程会苏醒,进入准备状态等待执行。
线程休眠的方法是Thread.sleep(long millis)和Thread.sleep(long millis, int nanos),均为静态方法,那调用sleep休眠的哪个线程呢?简单说,哪个线程调用sleep,就休眠哪个线程。
/**
* Java线程:线程的调度-休眠
*
* @author leizhimin 2009-11-4 9:02:40
*/
publicclass Test {
publicstaticvoid main(String[] args) {
Thread t1 = new MyThread1();
Thread t2 = new Thread(new MyRunnable());
t1.start();
t2.start();
}
}
class MyThread1 extends Thread {
publicvoid run() {
for (int i = 0; i < 3; i++) {
System.out.println("线程1第" + i + "次执行!");
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class MyRunnableimplements Runnable {
publicvoid run() {
for (int i = 0; i < 3; i++) {
System.out.println("线程2第" + i + "次执行!");
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
线程2第0次执行!
线程1第0次执行!
线程1第1次执行!
线程2第1次执行!
线程1第2次执行!
线程2第2次执行!
从上面的结果输出可以看出,无法精准保证线程执行次序。
java 5 线程 睡眠,Java线程之线程的调度-休眠相关推荐
- java 5 线程 睡眠,Java并发编程实例--5.线程睡眠
有时候我们需要让线程在一段时间内不做任何事.例如某线程每个一小时检测一下传感器,剩余的时间不做任何事. 我们可以使用sleep()方法使线程睡眠,此期间不占用计算机资源. 这个方法接受一个整数表示睡眠 ...
- java线程 睡眠_java如何编写线程睡眠工具类包括随机睡眠时长
最后给大家贴下这个睡眠工具类的完整代码 public class Sleep { /** * 睡眠n毫秒 * @param time */ public static void threadSleep ...
- java线程睡眠分析,java线程睡眠有关问题
java线程睡眠问题 这是我的代码 package org.com.JframeDemo; public class ControlClass { private int readCount; // ...
- Java中的Thread.sleep()– Java线程睡眠
Java中的Thread.sleep (Thread.sleep in Java) Thread.sleep() method can be used to pause the execution o ...
- 从Java到JVM到OS线程睡眠
前言 Java 中有时需要将线程进入睡眠状态,这时一般我们就会通过Thread.sleep使线程进入睡眠状态,接下去就看看执行该语句在 JVM 中做了什么. 简单例子 以下是一个简单的例子,使主线程睡 ...
- Java线程的调度(线程的优先级、线程睡眠、线程让步、线程插队)
线程的优先级 : Java语言中线程有优先级,优先级高的线程会获得较多的运行机会. 当程序中有多个线程存在的时候,线程和线程之间的关系并非是平等的. Java语言中线程的优先级用整数表示,取值范围是1 ...
- 线程阻塞的概念 (Java 中的睡眠状态sleep 等待状态wait 礼让状态yield 自闭状态join suspend() 和 resume() )
线程阻塞的概念: 线程阻塞通常是指一个线程在执行过程中暂停,以等待某个条件的触发. 参考文章1:什么是线程阻塞?为什么会出现线程阻塞? 参考文章2:线程阻塞
- java线程 睡眠_java线程睡眠问题
package线程TEST包;publicclassxianchengextendsThread{inti=0;publicxiancheng(Stringname){setName(name);}@ ...
- Java基础学习总结(17)——线程
2019独角兽企业重金招聘Python工程师标准>>> 一.线程的基本概念 线程理解:线程是一个程序里面不同的执行路径 每一个分支都叫做一个线程,main()叫做主分支,也叫主线程. ...
最新文章
- Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()的使用
- 【OpenMP实现】任意线程数并行化快排结合Merge排序100w--10线程下只用0.06s
- ML之PPMCC:PPMCC皮尔逊相关系数(Pearson correlation coefficient)、Spearman相关系数的简介、案例应用之详细攻略
- dot全称_dot是什么币
- 在Linux系统的命令行中为MySQL创建用户的方法
- python 字符集utf-8|精简版(三分钟了解)
- 最贵5000!小米最贵旗舰MIX 3发布,雷军:干翻华为
- Java 获取两个日期之间的日期
- Android studio 导包时,容易出现的问题【包括最新版本的问题】
- 在其他的电脑上配置绿色Jre+tomcat运行环境
- unix域套接字UDP网络编程
- 【Linux】Debian 连接惠普打印机并共享
- 微信开发工具怎么模拟android环境,uni-app判断客户端环境是 安卓Android、iOS 、微信开发工具...
- win10u盘一直正在计算机,Windows10未插入U盘却一直显示的解决方法
- 我太机智了……30条关于数据行业内涵笑话漫画
- 服务器系统开启telnet,Telnet怎么打开 Win7/Win8系统开启Telnet服务方法图解
- 面试突击63:distinct 和 group by有什么区别?
- linux 回收站创建
- Flutter | 和小老弟一起玩转Widget
- 计算机常见故障ppt,计算机硬件组成与常见故障排错.ppt
热门文章
- 商业互吹?扎克伯格:后悔没早点学微信
- “寒门状元之死”文章引热议 京东徐雷:三流文学作品 多看书吧
- 程序员小哥月入5万,却被丈母娘拒绝,丈母娘一番话让小哥很尴尬
- android 分析boot.img,Android 系统准备知识-bootimg文件的结构
- java 接口隔离_关于接口隔离原则的一个实现:
- python故事_python的故事
- ffmpeg 无法找到libpostproc的问题
- Write operations are not allowed in read-only mode (FlushMode.MANUAL)
- 【linux】linux 安装 protobuf 2.5.0 版本
- 【Arthas】Arthas 导出堆栈信息