线程sleep()方法

* public static void sleep​(long millis) throws InterruptedException 

* Thread.sleep(),该方法的作用是在指定的毫秒数内让当前 “正在执行的线程” 休眠(暂停执行)。这个“正在执行的线程”是指 this.currentThread() 返回的线程。

* sleep方法不会放弃 monitor 锁的所有权,但会释放CPU资源。

* TimeUnit 枚举类

* 代码

```
package com.shige.Thread; import java.util.concurrent.TimeUnit; /*
线程对象.sleep(毫秒); 阻塞当前线程,让线程进入阻塞状态,腾出CPU时间片让给其他线程
*/
public class ThreadTest05 {
public static void main(String[] args) throws InterruptedException { // 创建线程对象1
Thread thread=new Thread(new Processor_05());
thread.setName("线程1"); // 创建线程对象2
Thread thread1=new Thread(new Processor_05());
thread1.setName("线程2"); //启动线程
thread.start(); thread1.start(); for (int i = 0; i <11 ; i++) {
System.out.println(Thread.currentThread().getName()+"----->"+i); //阻塞主线程
//TimeUnit枚举类
TimeUnit.NANOSECONDS.sleep(1000); //纳秒
TimeUnit.MICROSECONDS.sleep(1000);//微秒
TimeUnit.MILLISECONDS.sleep(1000); //毫秒
//TimeUnit.SECONDS.sleep(1); //秒
//TimeUnit.MINUTES.sleep(1);//分钟
//TimeUnit.HOURS.sleep(1);//小时
//TimeUnit.DAYS.sleep(1); //天 } }
} class Processor_05 implements Runnable{ //被重写的方法不能抛出异常,所以重写run()中的异常只能用try..catch
@Override
public void run() {
for (int i = 0; i <11 ; i++) { System.out.println(Thread.currentThread().getName()+"----->"+i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} }
}

Day13_65_线程sleep()方法的更多相关文章

  1. java17 线程的方法

    线程的方法: .isAlive():判断线程是否还活着,即线程是否还未中止. .getPriority():获得线程的优先级数值. .setPriority():设置线程的优先级. .setName( ...

  2. Qt新建线程的方法(四种办法,很详细,有截图)

    看了不少Qt线程的东西,下面总结一下Qt新建一个线程的方法. 一.继承QThread 继承QThread,这应该是最常用的方法了.我们可以通过重写虚函数void QThread::run ()实现我们 ...

  3. Qt新建线程的方法(有QRunnable,QThreadPool,moveToThread和QtConcurrent的例子)

    看了不少Qt线程的东西,下面总结一下Qt新建一个线程的方法. 一.继承QThread 继承QThread,这应该是最常用的方法了.我们可以通过重写虚函数void QThread::run ()实现我们 ...

  4. 远程线程注入方法CreateRemoteThread

    最近在整理学习Windows注入方面的知识,这个远程注入前面早写过,现在看看人家博客的理解整理,整理, 需要源码的可以到我的github上下载. 链接是  https://github.com/Ars ...

  5. Thread线程join方法自我理解

    Thread线程join方法自我理解 thread.join():等待thread线程运行终止,指的是main-thread(main线程)必须等待thread线程运行结束,才能继续thread.jo ...

  6. Android多线程编程<一>Android中启动子线程的方法

          我们知道在Android中,要更新UI只能在UI主线程去更新,而不允许在子线程直接去操作UI,但是很多时候,很多耗时的工作都交给子线程去实现,当子线程执行完这些耗时的工作后,我们希望去修改 ...

  7. 多线程之间的通信(等待唤醒机制、Lock 及其它线程的方法)

    一.多线程之间的通信. 就是多个线程在操作同一份数据, 但是操作的方法不同. 如: 对于同一个存储块,其中有两个存储位:name   sex, 现有两个线程,一个向其中存放数据,一个打印其中的数据. ...

  8. java创建线程的方法

    1.1      创建线程 1.1.1     无返回值的线程创建 package com.first; public class ThreadTest { public static void ma ...

  9. OkHttp3几个简单的例子和在子线程更新UI线程的方法

    okHttp用于android的http请求.据说很厉害,我们来一起尝尝鲜.但是使用okHttp也会有一些小坑,后面会讲到如何掉进坑里并爬出来. 首先需要了解一点,这里说的UI线程和主线程是一回事儿. ...

随机推荐

  1. scala:分别使用懒汉式和饿汉式实现单例模式

    在java中,单例模式需要满足以下要求: 构造方法私有化,使得本类之外的地方不能使用构造方法new出对象 提供私有静态属性,接收单例对象 公共的.静态的getInstance方法,便于外界拿到单例对象 ...

  2. SpringBoot解决特殊符号 []报400问题

    当遇到特殊符号传递给后台时,如果不加处理,就会报400的错误,解决办法有两种. 1.前台解决 前台解决的方法就是把这些特殊符号转义,转义之后浏览器和后台都可以识别. //对特殊字符进行转义 encod ...

  3. SpringBoot 配置文件以及依赖 加上跨域配置文件

    配置目录: application.properties的配置 #设置服务端口号 server.port = 8090 #配置数据源 spring.datasource.driver-class-na ...

  4. jquery动态赋值id与动态取id方法

    $("#" + packageNameId + "").text(packageName); $("#" + packageNumId + ...

  5. Vue 解决img标签不显示图片问题

    今天在写前端页面的时候,上传图片返回图片地址后,<img> 标签居然显示不出来,经过排查,原因是 <img v-if="hotel.url" :src=" ...

  6. Java练习——String类练习

    需求: 给定一个字符串String str=" Hello World",返回长度,返回o第一次出现的索引,返回最后一个o的索引,把所有的l都替换为m,并把字符串str按空格分割为 ...

  7. Percona XtraDB Cluster之流量控制

    什么是流量控制? Percona XtraDB Cluster具有一种称为流控制的自调节机制.该机制有助于避免集群中最弱/最慢的成员明显落后于集群中其他成员的情况. 当集群成员在写数据很慢(同时又继续 ...

  8. [DP浅析]线性DP初步 - 2 - 单调队列优化

    目录 #0.0 前置知识 #1.0 简单介绍 #1.1 本质 & 适用范围 #1.2 适用方程 & 条件 #2.0 例题讲解 #2.1 P3572 [POI2014]PTA-Littl ...

  9. vscode配置golang开发环境手把手描述篇

    1.下载安装Golang https://golang.google.cn/dl/ 一路下一步即可 2.下载安装Vscode https://visualstudio.microsoft.com/zh ...

  10. 锐捷RG-UAC统一上网行为管理审计系统账号密码泄露漏洞 CNVD-2021-14536

    一:产品介绍: 锐捷 RG-UAC 统一上网行为管理审计系统 锐捷统一上网行为管理与审计RG-UAC系列是星网锐捷网络有限公司自主研发的上网行为管理与审计产品,以路由.透明.旁路或混合模式部署在网络的 ...