黑马程序员技术交流社区
标题:
sleep与wait
[打印本页]
作者:
张海洋
时间:
2013-4-9 17:16
标题:
sleep与wait
sleep() 和 wait() 有什么区别?
作者:
梁航斌
时间:
2013-4-9 17:36
wait会释放锁,sleep不会,sleep来自Thread类,wait来自Object。
作者:
王大斌
时间:
2013-4-9 18:45
sleep只是让进程睡眠,到时间自动转成就绪态,而wait让起等待,没有唤醒之前不能自动苏醒进入就绪态
作者:
蓝色骨头
时间:
2013-4-9 18:52
sleep 让出处理器,睡眠指定时间,可以被中断 有一个异常要处理InterruptedException
wait 让出处理器,当前线程必须拥有此对象监视器,释放锁,等待,直到拥有此对象监视器的线程调用notify或notifyAll()唤醒,可以被中断有两个异常要处理InterruptedException和IllegalMonitorStateException
作者:
王军行
时间:
2013-4-9 18:54
主要区别在多线程方面,waite,停止后释放同步锁 sleep则依然不放锁,其他进程拿不到锁
作者:
严海燕
时间:
2013-4-9 19:25
sleep和wait的区别有:
1,这两个方法来自不同的类分别是Thread和Object
2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在
任何地方使用
synchronized(x){
x.notify()
//或者wait()
}
4,sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2