课程
/后端开发
/Java
/深入浅出Java多线程
这里面不懂得是农民军和隋军攻击时循环的次数是根据什么决定的?
2018-08-21
源自:深入浅出Java多线程 2-5
正在回答
视频里是写死的for循环
是通过执行stage的线程中的sleep方法,让军队的想成获得了时间资源进行,然而有yield的方法存在造成了两边军队的随机进攻
自己的一个理解,希望可以帮到你;如果有误希望提出改正
Stage的休眠时间长短来决定双方军队的次数,也就是决定子线程军队有没有更多的时间去执行循环里的代码也就是军队去攻击;Stage是主线程,主线程里面又嵌套了两个子线程,只有当Stage主线程让出CPU,子线程才能来得及在while循环也就是军队攻击
Thread.sleep(50);
双方军队的你来我往形式的攻击或者军队单方面形式的攻击是由于使用了Thread.yield()导致的;CPU可能连续执行一个线程,也可能执行你一次我一次。
举报
带你一起深入浅出多线程,掌握基础,展望进阶路线
2 回答关于循环的问题
1 回答ArmyRunnable类中while循环问题
2 回答用for循环,是每个循环创建了一个线程吗?为什么输出不是1到100顺序输出,而是没有规矩的呢
3 回答运行结果问题
1 回答一下把循环条件打出来的操作