为了账号安全,请及时绑定邮箱和手机立即绑定

攻击次序问题

我自己运行的代码,起义军和隋军几乎是交替执行,而且开始的时候不是从0开始的

正在回答

4 回答

线程是通过抢占CPU资源去运行的,随机交替着是随机的现象;至于不是从0开始,可以通过代码的调试,去看i的变化。

1 回复 有任何疑惑可以回复我~

不是从零开始的问题是数据太大,无法显示那么多,不过为什么我的代码没有出现过单方面连击的情况,都是交替进行的

0 回复 有任何疑惑可以回复我~
#1

寒食君Talk

我基本和你出现一样的情况,但是会有偶尔几次出现单方面的两连击,其余都是交替出现
2016-08-14 回复 有任何疑惑可以回复我~
package com.haha;

public class ArmyRunnable implements Runnable {

	volatile boolean keepRuning = true;

	@Override
	public void run() {

		while(keepRuning){
			for (int i = 0; i < 5; i++){
				System.out.println(Thread.currentThread().getName() + "攻击[" + (i+1) + "]");
				
				//让出处理器时间
				Thread.yield();
			}
		}
		
		System.out.println(Thread.currentThread().getName() + "结束战斗");
	}

}


0 回复 有任何疑惑可以回复我~

volatile 写了吗?代码怎么写的 

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

攻击次序问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号