A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蒲公英在飞 中级黑马   /  2014-7-18 07:21  /  967 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

wait 可以指定时间也可以不指定时间。
sleep 必须指定时间。
在同步中时对于cpu的执行权和锁处理不同。
wait:释放执行权,释放锁。
sleep:释放执行权,不释放锁。

2 个回复

倒序浏览
sleep是要指定时间的,自带唤醒功能,就好像一个人困了,去睡觉了,但是订了闹钟,这是他睡觉了什么都做不了了,释放了执行权,等到时间到了,闹钟响了,他就醒了,又可以有获取执行权的资格了。
而wait就没有自动唤醒功能,就好像一个人困了,睡觉没有闹钟,但是他跟一个叫notify说我先睡觉,到时候你叫我啊,所以,这是只要wait,他就睡觉了,释放了执行权,如果notify出去一直没有回来,那么他是不会醒的,只有notify出现了叫醒了他,他才会有获取执行权的资格了。wait是由notify把它唤醒的。
回复 使用道具 举报
给你将一个简单的例子吧:你去买票,需要排队,等排到你的时候售票员告诉你需要等一下,如果你就在窗口外等,你后面的人买不了票,就是sleep。要是让你到旁边等,后面的人可以买票,就是wait。能懂?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马