您的位置:首页 > 大数据 > 人工智能

sleep()和wait()的区别

2016-11-30 18:15 253 查看
1、sleep()是Thread类中的,wait()是Object中的,因为等待唤醒方法的调用必须通过锁对象调用,而使用的锁对象是任意对象,所以必须定义在object类中。

2、sleep()方法导致了程序暂停执行指定的时间,占用CPU该线程不工作,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。

而当调用wait()方法的时候,不占用cpu,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: