news 2026/7/6 22:13:27

wait()和sleep()的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
wait()和sleep()的区别

一:wait()

wait()含义:主动放弃 CPU 执行权,并释放持有的锁,进入等待状态,直到被其他线程唤醒

1.wait()不会进行忙等,而是释放锁然后进入等待队列,挂起线程(释放CPU资源),等待其他线程对其进行唤醒(相同类的对象调用notify()或notifyAll()方法进行唤醒)

2.wait()是Object类的一个实例方法,也就是如果要调用wait()方法必须要new一个Object的对象,然后通过对象调用。

3.wait()必须在同步代码块或者同步方法内调用,如果在其他方法内调用需要先获取他的锁,如下代码所示

4.wait()执行是挂起线程,那么如何从WAITTING状态到RUNNING状态呢,上面说了wait()需要手动唤醒,调用notify()(随机唤醒一个等待状态的线程)或者notifyAll()(唤醒全部等待状态的线程)

二:sleep()

1.sleep()是Thread类下的一个静态实例方法,所以可以在任意地方通过Thread.sleep()调用。

2.调用Thread.sleep()时候,线程会暂停执行时间,但是不会释放对象锁,也就是说在sleep期间,其他线程不会获得该对象锁。

3.sleep睡眠时间结束会该线程的状态会自动到就绪等待状态,等待CPU调度

三:wait()和sleep()总结对比

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 7:00:45

线程状态详解

java.lang.Thread.State枚举了六种线程状态,可以调用Thread类的getState()方法获取当前线程的状态 一:NEW(新建) 线程被创建但尚未启动 例如:Thread t new Thread(); 后,未调用 t.start() 二&#xff1…

作者头像 李华
网站建设 2026/7/2 21:21:37

云盘直链解析技术深度解析与下载加速方案实践

云盘直链解析技术深度解析与下载加速方案实践 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广,无需输入“暗…

作者头像 李华
网站建设 2026/7/1 12:56:45

DLSS版本管理与游戏画质优化的专业技术方案

DLSS版本管理与游戏画质优化的专业技术方案 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 在追求极致游戏体验的过程中,有效的DLSS版本管理成为提升画质性能平衡的关键技术。现代游戏库中往往包含数十款支…

作者头像 李华
网站建设 2026/6/30 21:35:05

AI动作捕捉优化:MediaPipe Holistic模型压缩技巧

AI动作捕捉优化:MediaPipe Holistic模型压缩技巧 1. 引言:AI 全身全息感知的技术挑战 随着虚拟主播、元宇宙交互和远程协作应用的兴起,对全维度人体动作捕捉的需求日益增长。传统方案往往依赖多模型串联或高成本硬件设备(如Kine…

作者头像 李华
网站建设 2026/6/29 4:37:13

MediaPipe Holistic性能测试:CPU环境下的全息感知效果评估

MediaPipe Holistic性能测试:CPU环境下的全息感知效果评估 1. 引言:AI 全身全息感知的技术演进与挑战 随着虚拟现实、数字人和智能交互系统的快速发展,对全维度人体行为理解的需求日益增长。传统方案通常采用多个独立模型分别处理人脸、手势…

作者头像 李华
网站建设 2026/7/1 7:00:47

2025网盘下载革命:LinkSwift直链助手完全使用手册

2025网盘下载革命:LinkSwift直链助手完全使用手册 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广&#xff…

作者头像 李华