黑马程序员技术交流社区
标题:
sleep() 和 wait() 有什么区别?
[打印本页]
作者:
小小6456
时间:
2014-5-19 13:02
标题:
sleep() 和 wait() 有什么区别?
求解。。。。。。。。呵呵
作者:
莫问纷飞
时间:
2014-5-19 13:05
1,sleep必须指定时间,wait可以指定可以不指定。
2,sleep和wait都可以让线程处于冻结状态,释放执行权。(相同点)
3,持有锁的线程执行sleep,不释放锁,持有锁的线程执行到wait释放锁。
4,sleep到时间会自动醒,wait没有指定时间,只能被其他线程通过notify唤醒。
作者:
路漫漫_求索
时间:
2014-5-19 20:22
sleep() 和 wait() 有什么区别?
sleep()---方法,需要指定睡的时间
try{Thread.sleep(10);}catch(Exception e){}//进来的线程,暂时睡10毫秒
而wait()--不需要指定时间,只是让线程暂停一下,但需要notify()唤醒,而且等待和唤醒必须是同一个锁。
public void run()
{
if(!p.flag)
try{p.wait();}catch(Exception e){}//调用wait方法(存在异常)
System.out.println(p.name+"....."+p.sex);
p.flag=false;
p.notify();//唤醒
}
作者:
youcyou
时间:
2014-5-19 20:28
学习了
作者:
周俊波
时间:
2014-5-19 20:32
sleep是睡,wait是等,睡自己会醒,等就只能等着别人叫你醒了
作者:
alax
时间:
2014-5-19 22:37
sleep()是程序休眠,是Thread里面的方法 程序休眠一段自定义的时间后,自动解除休眠;
作者:
郭帅帅
时间:
2014-5-19 22:45
我也是来看答案的,呵呵
作者:
hengxing0079
时间:
2014-5-20 00:21
人过留名,知识掠走!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2