Java多线程之sleep
Java多线程之sleep
一、Sleep(long millis)
使当前正在执行的线程以指定的毫秒数暂停(暂时停止执行),具体取决于系统定时器和调度程序的精度和准确性。 线程不会丢失任何显示器的所有权。
1、sleep会使当前线程从Running进入到Timed Waiting状态2、interrupt方法,可以进行打断处于Timed Waiting的线程,然后就会抛出异常3、睡眠结束后,不一定能马上得到CPU的使用(存在上下文切换)4、一般都使用TimeUnit来进行休眠的处理,可读性好Thread.sleep(2000); ----> TimeUnit.SECONDS.sleep(2);5、在while(true)中使用sleep或yield是可以防止CPU的使用达到100%的(单核的情况下,会出现100%)
二、使用interrupt打断sleep抛出异常
public class Text02 {public static void main(String[] args) {Thread thread = new Thread("t1") {@Overridepublic void run() {// 先打印这个,然后进行睡眠,然后主线程进行打断,抛出异常System.out.println("t1 is sleep");try {Thread.sleep(2000);TimeUnit.SECONDS.sleep(2);} catch (InterruptedException e) {System.out.println("t1 is interrupt ");e.printStackTrace();}}};thread.start();// 主线程睡眠,然后打断处于Timed Waiting的线程try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}// 打断thread.interrupt();}
}
Java多线程之sleep相关推荐
- JAVA多线程之wait/notify
本文主要学习JAVA多线程中的 wait()方法 与 notify()/notifyAll()方法的用法. ①wait() 与 notify/notifyAll 方法必须在同步代码块中使用 ②wait ...
- Java多线程之Callable、Future和FutureTask
Java多线程之Callable接口 自己想总结一下的,看到一篇总结的更好的博客,就转载了,突然感觉真轻松,哈哈哈哈 文章转载于:Matrix海子:Java并发编程:Callable.Future和F ...
- Java多线程之Synchronized和Lock的区别
Java多线程之Synchronized和Lock的区别 目录: 原始构成 使用方法 等待是否可以中断 加锁是否公平 锁绑定多个条件Condition 小结:Lock相比较Synchronized的优 ...
- Java多线程之CAS缺点
Java多线程之CAS缺点 目录: 循环时间开销很大 只能保证一个共享变量的原子操作 引来ABA问题及解决方案(重点) 1. 循环时间开销很大 通过看源码,我们发现有个do while,如果CAS失败 ...
- Java多线程之CAS深入解析
Java多线程之CAS深入解析 目录: CAS是什么 CAS底层原理Unsafe深入解析 CAS缺点 引子:蚂蚁花呗一面:讲一讲AtomicInteger,为什么要用CAS而不是synchronize ...
- Java多线程之volatile详解
Java多线程之volatile详解 目录: 什么是volatile? JMM内存模型之可见性 volatile三大特性之一:保证可见性 volatile三大特性之二:不保证原子性 volatile三 ...
- Java多线程之Semaphore用法
Java多线程之Semaphore用法 本文目录: Semaphore基本概念 Semaphore使用案例:3个停车位,6辆车去抢,走一辆,抢一个停车位. 1. Semaphore基本概念 在信号量上 ...
- Java多线程之CyclicBarrier用法
Java多线程之CyclicBarrier用法 本文目录 CyclicBarrier的基本概念 CyclicBarrier的案例:集齐7颗龙珠就可以召唤神龙 1. CyclicBarrier的基本概念 ...
- Java多线程之CountDownLatch用法
Java多线程之CountDownLatch用法 本文目录: CountDownLatch基本概念 CountDownLatch案例:6个同学陆续离开教室后班长才可以关门 CountDownLatch ...
- Java多线程之8Lock问题解析
Java多线程之8Lock问题解析 本文目录 1. 8Lock实例: 标准访问的时候,请问先打印邮件还是短信? sendEmail方法暂停4秒钟,请问先打印邮件还是短信? 新增Hello普通方法,请问 ...
最新文章
- 几率大的REDIS面试题
- 天骄2 mysql错误_凤舞天骄一键版和钟隐3合1版的大多数问题解决方案
- C++ STL与迭代器
- 【2017年第3期】面向共享的政府大数据质量标准化问题研究
- 海归硕士程序员吐槽:我回国竟然找不到工作,这到底是什么操作?
- mui switch 实现方案 让你的html 设计更贴近原生
- SpringMVC框架第二天
- 08-03 性能测试--数据准备与基准场景设
- [转]HSPICE软件的应用及常见问题解决
- 只需两步快速获取微信小程序源码
- Emacs进阶之M-x创建别名
- 微软将VB和C#合二为一 年底推出全新平台VS2010
- sqlplus命令支持上、下翻功能
- keep-alive用法(include、exclude、max)
- Gmail终于对中文用户开放注册! update:2008.5.6
- Oracle RAC命令
- 云服务器是widows7系统,云服务器win7系统
- ImportError: /home/yang/anaconda3/envs/sar/bin/../lib/libgio-2.0.so.0: undefined symbol: g_unix_get_
- 异或、或、与(且)的运算
- Java选择题(八)
热门文章
- TCP 是一个可靠传输的协议,那我们来重点介绍 TCP 的重传机制、滑动窗口、流量控制、拥塞控制。
- 约战手游服务器维护中,梦幻手游1月13日维护更新 帮派约战测试
- VC++中combo box(组合框)控件使用说明/MFC COMBOBOX的使用
- Python基础知识(input函数的使用、input函数的高级使用)
- 刷脸支付收银系统开发定制源码独立部署
- 删除卡在C盘和D盘之间的恢复盘
- Photoshop:一道闪电
- for循环正确遍历数组
- 从数字货币估值学习区块链投资(行业观察)
- Speedoffice(excel)分列,拆分文本如何操作