首页 > 应用开发 > IT综合 > sleep和wait的区别
sleep线程被调用时
占着cpu去睡觉
其
线程
能占用cpu
os认
该线程正
工作
会让出系统资源
wait
进入等待池等待
让出系统资源
其
线程
占用cpu
般wait
会加时间限制
因
wait
线程运行资源
够
再出来也没用
要等待其
线程调用notifyall方法唤醒等待池
所有线程
才会
进入
绪序列等待os分配系统资源
sleep
静态方法
谁掉
谁去睡觉
算
main线程里调用了线程b
sleep方法
实际上还
main去睡觉
想让线程b去睡觉要
b
代码
掉sleep sleep(100L)
占用cpu
线程休眠100毫秒
其
进程
能再占用cpu资源
wait(100L)
进入等待池
等待
交出cpu等系统资源供其
进程使用
100毫秒
该线程
被其
线程notify
同
其
等待池
线程
被notify
会出来
线程
等待100毫秒
会自动进入
绪队列等待系统分配资源
换句
说
sleep(100)
100毫秒
肯定会运行
wait
100毫秒
还有等待os调用分配资源
所
wait100
停止运行时间
确定
至少
100毫秒
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29012686/viewspace-1146404/ ,如需转载,请注明出处,否则将追究法律责任。