关于输出结果循环的问题

来源:2-5 Java线程-隋唐演义实战开发---关键先生

_细嗅蔷薇

2018-08-21 23:24

这里面不懂得是农民军和隋军攻击时循环的次数是根据什么决定的?

写回答 关注

4回答

  • 景阳_洪兵
    2018-08-22 19:04:42
    已采纳

    视频里是写死的for循环

  • qq_慕圣2566072
    2019-06-20 11:04:56

    是通过执行stage的线程中的sleep方法,让军队的想成获得了时间资源进行,然而有yield的方法存在造成了两边军队的随机进攻

  • 慕神2939144
    2018-12-01 17:52:34

    自己的一个理解,希望可以帮到你;如果有误希望提出改正

  • 慕神2939144
    2018-12-01 17:51:42

    Stage的休眠时间长短来决定双方军队的次数,也就是决定子线程军队有没有更多的时间去执行循环里的代码也就是军队去攻击;Stage是主线程,主线程里面又嵌套了两个子线程,只有当Stage主线程让出CPU,子线程才能来得及在while循环也就是军队攻击

    Thread.sleep(50);

    双方军队的你来我往形式的攻击或者军队单方面形式的攻击是由于使用了Thread.yield()导致的;CPU可能连续执行一个线程,也可能执行你一次我一次。


深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题