sleep和wait的区别(转)
来源:互联网 发布:淘宝 一元起拍入口 编辑:程序博客网 时间:2024/06/18 04:57
sleep是线程被调用时,占着cpu去睡觉,其他线程不能占用cpu,os认为该线程正在工作,不会让出系统资源,wait是进入等待池等待,让出系统资源,其他线程可以占用cpu,一般wait不会加时间限制,因为如果wait的线程运行资源不够,再出来也没用,要等待其他线程调用notifyall方法唤醒等待池中的所有线程,才会在进入就绪序列等待os分配系统资源, sleep是静态方法,是谁掉的谁去睡觉,就算是在main线程里调用了线程b的sleep方法,实际上还是main去睡觉,想让线程b去睡觉要在b的代码中掉sleepsleep(100L)是占用cpu,线程休眠100毫秒,其他进程不能再占用cpu资源,wait(100L)是进入等待池中等待,交出cpu等系统资源供其他进程使用,在这100毫秒中,该线程可以被其他线程notify,但不同的是其他在等待池中的线程不被notify不会出来,但这个线程在等待100毫秒后会自动进入就绪队列等待系统分配资源,换句话说,sleep(100)在100毫秒后肯定会运行,但wait在100毫秒后还有等待os调用分配资源,所以wait100的停止运行时间是不确定的,但至少是100毫秒。
- sleep()和wait()的区别 (转)
- sleep和wait的区别(转)
- sleep() 和 wait() 的区别
- wait()和sleep()的区别
- sleep和wait的区别
- sleep() 和 wait() 的区别
- sleep和wait的区别
- sleep和wait的区别
- wait和sleep的区别
- sleep和wait的区别
- wait()和sleep()的区别
- sleep()和wait()的区别
- wait()和sleep()的区别
- Sleep()和wait()的区别?
- sleep()和wait()的区别
- sleep和wait的区别
- wait() 和 sleep() 的区别
- sleep和wait的区别
- 使用钩子参与到TCP拥塞事件的处理中
- 查找、去除表中重复记录
- firefox性能优化
- php定时执行任务的几个方法
- 先分享一个类:用于文件操作的,使用很方便
- sleep和wait的区别(转)
- 【Windows事件日志】【WindowsServer2003】Kerberos_4 N/A
- 【索引分类】索引组织表
- POE状态机入门与进阶
- VC++ 树的孩子兄弟表示法
- java_自定义注解_2
- YY淘宝商品数据库设计
- Android Service AIDL 远程调用服务之简单音乐播放实例【转载】
- 【后缀数组】【最长回文子串】Palindrome Ural_1297