Thread sleep() wait()

学艺不精,先总结一下两者的区别:

对比项 wait sleep
类所属  Object Thread,static方法
使用

在synchronised block中(包括notify,notifyAll)

Thread.sleep(long time); 
作用   导致线程暂停执行指定时间,让出cpu给其他线程
monitor锁 放弃 保持监控状态
唤醒方法 notify,notifyAll,等待时间到 到时间自动恢复
异常 抛出InterruptedException
本质 线程之间通讯 线程状态控制
比喻

淘米-做饭-吃饭:淘米之后,wait,等待别人通知我

做饭和吃饭,别人可以借用我做饭用的工具

淘米-做饭-吃饭:淘米之后,sleep(1000),

睡醒之后再做饭和吃饭,睡觉期间别人不可以借用我做饭用的工具

posted @ 2017-11-26 14:53  后山前堂客  阅读(270)  评论(0)    收藏  举报