黑马程序员技术交流社区
标题:
线程中的休眠问题
[打印本页]
作者:
何招俊
时间:
2012-2-15 15:05
标题:
线程中的休眠问题
线程中wait()和sleep()方法有什么区别?
作者:
吕猛
时间:
2012-2-15 15:22
sleep()是 冻结一段时间,时间到了就活了。wait()是冻结一段时间,收到一个符合的参数之后才活过来。收不到就永远停在那里了。
作者:
秦碧
时间:
2012-2-15 15:23
wait()需要被notify()唤醒
而sleep(long millis)是等待括号内的毫秒 后自动唤醒
作者:
admin
时间:
2012-2-15 15:53
刚来黑马论坛,没什么经验,继续努力!
帮顶一个..... {:soso_e112:}
作者:
李杨
时间:
2012-2-15 16:22
本帖最后由 李杨 于 2012-2-15 16:23 编辑
一个是自己睡觉自己醒,另一个是自己睡觉,让别人叫醒。。
sleep方法让线程睡眠,但是不会释放自己的锁,不会释放执行权。
wait方法让线程等待,会释放自己的锁,释放执行权。
需要注意的是:当你在多线程中使用wait方法等待的时候,要依据条件来判断,同样为了防止虚假线程的出现,你的条件判断要用while来循环判断,而别if判断。
这样可以保证你线程执行正确。
作者:
黄锦成
时间:
2012-2-15 16:48
李杨 发表于 2012-2-15 16:22
一个是自己睡觉自己醒,另一个是自己睡觉,让别人叫醒。。
sleep方法让线程睡眠,但是不会释放自己的锁, ...
不错。这个我没去复习,都有点忘记了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2