请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

主线程Thread.sleep()为什么会对子线程的执行顺序有影响呢

for (int i = 0; i < threads.length; i++) {
threads[i] = new Thread(new Job(printQueue));
threads[i].start();
Thread.sleep(100);
}

主线程Thread.sleep()为什么会对子线程的执行顺序有影响呢老师?

正在回答 回答被采纳积分+3

1回答

悟空 2020-03-29 22:38:17

子线程先启动不代表先执行,主线程sleep为了让前一个子线程start后顺利运行

0 回复 有任何疑惑可以回复我~
  • 提问者 灵森 #1
    嗯嗯,是因为主线程sleep使主线程放弃了cpu调度,子线程得以依次运行吧老师?
    回复 有任何疑惑可以回复我~ 2020-03-29 22:58:11
  • 悟空 回复 提问者 灵森 #2
    就是给当前刚刚启动的子线程一点时间,让他有时间启动起来
    回复 有任何疑惑可以回复我~ 2020-03-29 23:00:22
  • 提问者 灵森 回复 悟空 #3
    嗯嗯,感谢老师
    回复 有任何疑惑可以回复我~ 2020-03-29 23:01:02
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信