sleep和wait有什么区别

sleep和wait有什么区别都用来进行线程控制 他们最大本质的区别是 sleep 不释放同步锁 wait 释放同步缩 sleep 是让某个线程暂停运行一段时间 其控制范围是由当前线程决定 也就是说 在线程里面决定 好比如说 我要做的事情是 点火 gt 烧水 gt 煮面 而当我点完火之后我不立即烧水 我要休息一段时间再烧 对于运行的主动权是由我的流程来控制 而 wait 首先 这是由某个确定的对

都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩.;

基本差别

  •     sleep是Thread类的方法,wait是Object类中定义的方法
  •     sleep()方法可以在任何地方使用
  •     wait()方法只能在synchronized方法或synchronized块中使用

 

本质区别

 

  •     Thread.sleep智慧让出CPU,不会导致锁行为的改变
  •     Object.wait不仅让出CPU,还会释放已经占有的同步资源锁

 

1

sleep()是让某个线程暂停运行一段时间,其控制范围是由当前线程决定,也就是说,在线程里面决定.。对于运行的主动权是由我的流程来控制.

wait(),首先,这是由某个确定的对象来调用的,将这个对象理解成一个传话的人,当这个人在某个线程里面说”暂停!”,也是 thisOBJ.wait(),这里的暂停是阻塞,thisOBJ就好比一个监督我的人站在我旁边,本来该线 程应该执行1后执行2,再执行3,而在2处被那个对象喊暂停,那么我就会一直等在这里而不执行3,但正个流程并没有结束,我一直想去煮饭,但还没被允许, 直到那个对象在某个地方说”通知暂停的线程启动!”,也就是thisOBJ.notify()的时候,那么我就可以煮饭了,这个被暂停的线程就会从暂停处 继续执行.

2

  • sleep()可以将一个线程睡眠,参数可以指定一个时间。
  • wait()可以将一个线程挂起,直到超时或者该线程被唤醒。

wait有两种形式wait()和wait(milliseconds).

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231157.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月24日 下午7:01
下一篇 2026年1月24日 下午7:22


相关推荐

  • 微信个人号机器人接口「建议收藏」

    微信个人号机器人接口「建议收藏」前段时间公司需求开发一套自定义的微信机器人,需求是可以自批量添加好友,自动聊天,自动回复,发朋友圈,转发语音,以及定时群发等,还可以提取聊天内容,进行数据汇总,what????微信还可以这样做!!调研开发了3个月,3个月啊!!!(主要被各种技术走偏路),终于成功了,都是走过的心酸泪,分享给大家,大家学习完,记得给我点个赞!!!大家一般需求点无非是以下几个需求:1.开发个人微信营销系统2.开发自定义的微信机器人,3.开发微信智能聊天客服系统4.定制行业内的群数据分析功能需求很

    2022年5月20日
    94
  • AdminLTE框架的基本使用

    AdminLTE框架的基本使用框架介绍:AdminLTE是一个完全响应管理模板。基于Bootstrap3,jQuery3.3.1这两个框架框架,易定制模板。适合多种屏幕分辨率,从小型移动设备到大型台式机。内置了多个页面,包括仪表盘、邮箱、日历、锁屏、登录及注册、404错误、500错误等页面。对于后台站点的模板渲染,有很大的作用。下载可以使用gitclone到本地gitclonehttp…

    2022年7月27日
    13
  • iOS非公开App分发方式

    iOS非公开App分发方式Apple 推出的一种全新分发方式 非公开 App 分发

    2026年3月17日
    2
  • 港企首推龙虾Openclaw应用,工作坊连安装收788港元,倡用清水机“养龙虾”免资料外泄

    港企首推龙虾Openclaw应用,工作坊连安装收788港元,倡用清水机“养龙虾”免资料外泄

    2026年3月14日
    2
  • C语言标准库函数大全(ctype、time 、stdio、stdlib、math、string)

    C语言标准库函数大全(ctype、time 、stdio、stdlib、math、string)文章目录C语言函数库一.C语言函数库一.<assert.h>二.<ctype.h>三.<errno.h>四.<limits.h>五.<locale.h>六.<math.h>七.<setjmp.h>八.<signal.h>九.<stdarg.h>十.<stddef.h>十一.<stdio.h&.

    2022年7月20日
    14
  • 最优投资组合–马科维茨投资组合理论

    最优投资组合–马科维茨投资组合理论代码已经过期 其中爬虫链接已经失效 一 马科维茨投资组合理论投资组合 Portfolio 是由投资人或金融机构所持有的股票 债券 衍生金融产品等组成的集合 投资组合的目的在于分散风险 投资组合按粗略的分类有三种不同的模式可供运用 即积极的 中庸的和保守的 投资组合理论 1 若干种证券组成的投资组合 其收益是这些证券收益的加权平均数 但是其风险不是这些证券风险的 代码已经过期 其中爬虫链接已经失效

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号