线程的休眠 | 学习笔记

简介: 快速学习线程的休眠

开发者学堂课程【Java 高级编程线程的休眠】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/20/detail/285


线程的休眠


如果现在希望某一个线程可以暂缓执行,那么可以使用休眠的处理。

Thread 类之中定义的休眠的方法如下:

·休眠1

public static void sleep(long millis)throws InterruptedException;

·休眠2:

public static void sleep(long mills,int nanos)throwsInterruptedException;

在进行休眠的时候有可能会产生中断异常“InterruptedException,中断异常属于Exception 的子类,所以证明该异常必须进行休眠处理。

范例:观察休眠处理

package cn.midnight.demo;

Public class ThreadDemo{

Public static void main(String[]args)throws Exception{

New thread(()->{

For(int x=0;x<10;x++){

System.out.println(Thread.currentThread.currentThread());

}

},”线程对象”).start();

暂缓执行之后执行慢了,休眠时间一到程序马上回复继续执行。

休眠的主要特点是可以自动实现线程的唤醒,以继续进行后续的处理。但是需要注意的是,如果现在你有多个线程对象,那么休眠也是有先后顺序的。

范例:产生多个线程对象进行休眠处理

此时五个线程对象,并且这五个线程对象执行的方法体是相同的。

此时从程序执行的感觉来讲,就像是若干个线程一起进行了休眠然后一起进行了自动唤醒。

image.png

            </div>
相关文章
|
2月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
65 0
|
2月前
|
消息中间件 Linux 调度
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
186 0
|
2月前
|
NoSQL 网络协议 关系型数据库
redis-学习笔记(redis 单线程模型)
redis-学习笔记(redis 单线程模型)
34 3
|
2月前
|
安全 Java 编译器
多线程 (下) - 学习笔记2
多线程 (下) - 学习笔记
29 1
|
2月前
|
存储 算法 Java
多线程 (下) - 学习笔记1
多线程 (下) - 学习笔记
29 1
|
2月前
|
设计模式 安全 NoSQL
多线程 (上) - 学习笔记2
多线程 (上) - 学习笔记
28 1
|
2月前
|
Java 数据库连接 程序员
【后台开发】TinyWebser学习笔记(2)线程池、数据库连接池
【后台开发】TinyWebser学习笔记(2)线程池、数据库连接池
42 4
多线程学习笔记(一)
创建线程有3种方式:继承Thread类、实现Runnable接口或Callable接口。继承Thread类时,重写run()方法并调用start()启动线程。实现Runnable接口时,实现run()方法,通过Thread的target创建线程对象并用start()启动。
|
2月前
|
Java API 调度
多线程 (上) - 学习笔记1
多线程 (上) - 学习笔记
27 0
|
2月前
|
Java C++
多线程学习笔记(二)
1. 子线程先执行:启动子线程后立即调用`join()`,主线程会等待子线程完成。 `suspend()`方法。 3. `synchronized` vs `Lock`:前者是关键字,后者是接口;前者可用在代码块和方法,后者在代码中显式;前者自动释放锁,后者需`finally`释放;前者无超时/中断控制,后者可设定;前者非公平,后者可公平/不公平,且支持读写锁。 4. `synchronized`底层实现:基于 Monitor 模型,JVM层面的锁定机制,通过 monitors 和 monitorenter/monitorexit 指令实现。