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相关推荐

  1. JAVA多线程之wait/notify

    本文主要学习JAVA多线程中的 wait()方法 与 notify()/notifyAll()方法的用法. ①wait() 与 notify/notifyAll 方法必须在同步代码块中使用 ②wait ...

  2. Java多线程之Callable、Future和FutureTask

    Java多线程之Callable接口 自己想总结一下的,看到一篇总结的更好的博客,就转载了,突然感觉真轻松,哈哈哈哈 文章转载于:Matrix海子:Java并发编程:Callable.Future和F ...

  3. Java多线程之Synchronized和Lock的区别

    Java多线程之Synchronized和Lock的区别 目录: 原始构成 使用方法 等待是否可以中断 加锁是否公平 锁绑定多个条件Condition 小结:Lock相比较Synchronized的优 ...

  4. Java多线程之CAS缺点

    Java多线程之CAS缺点 目录: 循环时间开销很大 只能保证一个共享变量的原子操作 引来ABA问题及解决方案(重点) 1. 循环时间开销很大 通过看源码,我们发现有个do while,如果CAS失败 ...

  5. Java多线程之CAS深入解析

    Java多线程之CAS深入解析 目录: CAS是什么 CAS底层原理Unsafe深入解析 CAS缺点 引子:蚂蚁花呗一面:讲一讲AtomicInteger,为什么要用CAS而不是synchronize ...

  6. Java多线程之volatile详解

    Java多线程之volatile详解 目录: 什么是volatile? JMM内存模型之可见性 volatile三大特性之一:保证可见性 volatile三大特性之二:不保证原子性 volatile三 ...

  7. Java多线程之Semaphore用法

    Java多线程之Semaphore用法 本文目录: Semaphore基本概念 Semaphore使用案例:3个停车位,6辆车去抢,走一辆,抢一个停车位. 1. Semaphore基本概念 在信号量上 ...

  8. Java多线程之CyclicBarrier用法

    Java多线程之CyclicBarrier用法 本文目录 CyclicBarrier的基本概念 CyclicBarrier的案例:集齐7颗龙珠就可以召唤神龙 1. CyclicBarrier的基本概念 ...

  9. Java多线程之CountDownLatch用法

    Java多线程之CountDownLatch用法 本文目录: CountDownLatch基本概念 CountDownLatch案例:6个同学陆续离开教室后班长才可以关门 CountDownLatch ...

  10. Java多线程之8Lock问题解析

    Java多线程之8Lock问题解析 本文目录 1. 8Lock实例: 标准访问的时候,请问先打印邮件还是短信? sendEmail方法暂停4秒钟,请问先打印邮件还是短信? 新增Hello普通方法,请问 ...

最新文章

  1. 几率大的REDIS面试题
  2. 天骄2 mysql错误_凤舞天骄一键版和钟隐3合1版的大多数问题解决方案
  3. C++ STL与迭代器
  4. 【2017年第3期】面向共享的政府大数据质量标准化问题研究
  5. 海归硕士程序员吐槽:我回国竟然找不到工作,这到底是什么操作?
  6. mui switch 实现方案 让你的html 设计更贴近原生
  7. SpringMVC框架第二天
  8. 08-03 性能测试--数据准备与基准场景设
  9. [转]HSPICE软件的应用及常见问题解决
  10. 只需两步快速获取微信小程序源码
  11. Emacs进阶之M-x创建别名
  12. 微软将VB和C#合二为一 年底推出全新平台VS2010
  13. sqlplus命令支持上、下翻功能
  14. keep-alive用法(include、exclude、max)
  15. Gmail终于对中文用户开放注册! update:2008.5.6
  16. Oracle RAC命令
  17. 云服务器是widows7系统,云服务器win7系统
  18. ImportError: /home/yang/anaconda3/envs/sar/bin/../lib/libgio-2.0.so.0: undefined symbol: g_unix_get_
  19. 异或、或、与(且)的运算
  20. Java选择题(八)

热门文章

  1. TCP 是一个可靠传输的协议,那我们来重点介绍 TCP 的重传机制、滑动窗口、流量控制、拥塞控制。
  2. 约战手游服务器维护中,梦幻手游1月13日维护更新 帮派约战测试
  3. VC++中combo box(组合框)控件使用说明/MFC COMBOBOX的使用
  4. Python基础知识(input函数的使用、input函数的高级使用)
  5. 刷脸支付收银系统开发定制源码独立部署
  6. 删除卡在C盘和D盘之间的恢复盘
  7. Photoshop:一道闪电
  8. for循环正确遍历数组
  9. 从数字货币估值学习区块链投资(行业观察)
  10. Speedoffice(excel)分列,拆分文本如何操作