已采纳回答 / saddhu
因为隋朝军队,农民起义军,和舞台进程优先级相同,军队没有执行while循环是因为先执行了suijun.keepRuning = false;和qiyijun.keepRuning=false;
2016-09-26
已采纳回答 / qq_奋斗的青年_03620831
当中断没有发生时,this.isInterrupted()值为false,执行while循环体内程序,当中断发生时,this.isInterrupted()值为true,跳出while循环;如视频isInterrupted()是一个线程判断是否发生中断的方法,返回一个boolean值
2016-09-21
已采纳回答 / 七塔
Oh sorry,问题看错了,因为虽然那两个KeepRunning虽然设置了false,但是for循环里还在循环跳不到while的判断去,用join加入就直接从头开始,到while直接判断结束,不进入for循环,就到底了,直接输出战斗结束
2016-09-12
已采纳回答 / 慕粉3610080
当keepRunning=true,while语句一直在执行;当将keepRunning=false,不满足while的循环条件,但并不会马上终止while循环,while里面的for循环还是会执行的,当while里面的程序运行完后,跳出while循环,不再进入。
2016-09-08
已采纳回答 / 张探长
查看api可知道 Runnable 接口,只提供了run()方法。所以只实现了 Runnable 接口的类并不能启动线程。当你再查看Thread的api时,有多个重载的构造函数比如这个: <...code...>启动线程只能用Thread里面的start() 方法。<...code...>
2016-09-06
已采纳回答 / 慕九州3071363
yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。
2016-09-05
已采纳回答 / qq_弑神S无尘
当年我学也没有,推荐一种写法private boolean flag=true;public void setFlag(boolean f ){flag=f;}在别的地方调用setFlag来改变标志。老师讲的关键字是什么时候出的我都不知道,我手边的书附录java关键字表也没有它
2016-09-03
已采纳回答 / 慕婉清0501596
看你用的什么软件 我用的idea 快捷键是Ctrl+D eclipse 是 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加) 百度下就行
2016-09-01
已采纳回答 / qq_慕粉119689
1.这个程序有四个线程。我们一开始是让stage线程启动,之后启动完之后,再启动armyOfSuiDynasty和armyOfRevolt这两个对象的线程。假如你不让舞台休眠50ms的话,那么舞台线程会继续执行下去,等到旗标的地方为false时,两个对象分别只运行一次循环。我认为你的第二个问题个第一个问题有点重复。第二个问题。stage线程对子线程的继续执行肯定有影响,没有stage线程的休眠,子线程肯定不可能厮杀那么久,至于为什么,就是因为想让他们厮杀一下吧。控制子线程的执行时间吧。我想。你不妨可以实际...
2016-08-14