黑马程序员技术交流社区

标题: sleep()和wait()的区别 [打印本页]

作者: 迷途老马    时间: 2015-10-23 23:01
标题: sleep()和wait()的区别
sleep是线程类(thread)的方法。导致此线程暂停执行之地昂时间,给执行的机会给其他线程,但是监控状态依然保持,到时候后自动回复,调用sleep不会释放对象锁。线程被调用时,占着CPU不工作,形象地说明为“占着CPU睡觉”,此时,系统的CPU部分资源被占用,其他线程无法进入,会增加时间限制。
sleep(100L)意思为:占用CPU,线程休眠100毫秒


wait是object类的方法,对此对象发出wait方法导致本线程放弃对象锁,进入等待此对象的的呢古代锁定池,只有针对此对象发出notify方法(或者notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。线程处于进入等待状态,形象地说明为“等待使用CPU”,此时线程不占用任何资源,不增加时间限制。

wait(100L)意思为:不占用CPU,线程等待100毫秒




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2