sleep()和wait()的区别
2016-11-30 18:15
253 查看
1、sleep()是Thread类中的,wait()是Object中的,因为等待唤醒方法的调用必须通过锁对象调用,而使用的锁对象是任意对象,所以必须定义在object类中。
2、sleep()方法导致了程序暂停执行指定的时间,占用CPU该线程不工作,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。
而当调用wait()方法的时候,不占用cpu,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。
2、sleep()方法导致了程序暂停执行指定的时间,占用CPU该线程不工作,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。
而当调用wait()方法的时候,不占用cpu,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。
相关文章推荐
- java中yield(),sleep()以及wait()的区别往往混淆了这三个函数的使用。
- 多线程中sleep()和wait()的区别
- ava中yield(),sleep()以及wait()的区别
- java线程同步原理及wait,notify的用法及与sleep的区别
- sleep和wait有什么区别
- sleep() 与 wait() 有什么区别?
- java中yield(),sleep()以及wait()的区别
- sleep() 和 wait() 的区别
- sleep和wait的区别
- Java线程中sleep和wait的区别
- java中yield(),sleep()以及wait()的区别
- java线程的sleep(),wait(),notify(),yield()方法的区别要点
- yield(),sleep()以及wait()的区别(修正版)
- sleep wait 区别
- yield(),sleep()以及wait()的区别(修正版)
- sleep() 和 wait() 有什么区别
- java中yield(),sleep()以及wait()的区别
- java中yield(),sleep()以及wait()的区别
- java中yield(),sleep()以及wait()的区别
- sleep和wait的区别