黑马程序员技术交流社区
标题:
sleep()和wait()的区别?
[打印本页]
作者:
落琪123
时间:
2015-10-17 10:26
标题:
sleep()和wait()的区别?
sleep()和wait()之前有什么的区别?
作者:
android小学徒
时间:
2015-10-17 11:21
它们最大本质的区别是:sleep()不释放同步锁,wait()释放同步锁.
作者:
hyzhw
时间:
2015-10-17 17:08
sleep必须捕获异常,而wait不需要捕获异常
作者:
fwqk123
时间:
2015-10-17 17:48
释放同步锁我理解 但是捕获异常是怎么回事 求解答
作者:
奋斗的丫丫
时间:
2015-10-17 19:09
1、 wait()是属于对象锁的
sleep()是属于线程的
2、 wait()方法中可以书写时间值也可以不书写时间值
sleep()方法中必须书写一个时间值
3、 wait()方法执行后,线程会一直处于等待状态。在唤醒后才会转为运行状态或阻塞状态
sleep()方法执行后,也会处于等待状态。但是时间一到,就会转为运行状态或阻塞状态
4、 wait()方法只能以书写在同步代码块内
sleep()可以书写在同步代码块内,也可以书写在同步代码块外
作者:
bukai123
时间:
2015-10-18 18:12
对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。
sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。
在调用sleep()方法的过程中,线程不会释放对象锁。
而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2