一个线程休眠后,休眠的那段时间发生了什么?
老师,加入休眠后,两个线程一定是交替运行吗?首先Thread-0抢到执行权,输出:Thread-0执行第1次,然后进入sleep方法休眠一秒钟,那么这一秒钟,CPU里面是空的吗?还是一定会分配给Thread-1?因为只有两个线程,非此即彼。CPU允许存在在某个时间片完全为空的情况吗?还是说CPU是一定会从头到尾被塞满的?
15
收起
正在回答
1回答
同学你好,
1、这里加入休眠后,两个线程不一定是交替运行,但是交替运行的概率是比较大的,因为当Thread0线程进行休眠后,在它休眠的这段时间里,只能说另一个线程获取CPU的概率比较大,所以会出现交替执行。
2、进入sleep方法休眠一秒钟,这一秒钟CUP也不是是空的,当前线程会占着cpu去睡觉,其他线程不能占用cpu。
3、整个过程中CPU都不是为空的,都是有线程的。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星