线程的停止
关于军队这一块没有设置他的具体结束时间,怎么能确定这两个线程会结束呢?什么时候结束呢,KeepRunning这个值什么时候会被调用呢,DeBug不出来啊,求解
关于军队这一块没有设置他的具体结束时间,怎么能确定这两个线程会结束呢?什么时候结束呢,KeepRunning这个值什么时候会被调用呢,DeBug不出来啊,求解
2016-05-05
在舞台这个线程里面将两个军队线程对象的KeepRunning属性设置为false,从而结束了两个军队线程。
ArmyRunnable armyA = new ArmyRunnable();
ArmyRunnable armyB = new ArmyRunnable();
Thread threadArmyA=new Thread(armyA,"armyA");
Thread threadArmyB=new Thread(armyB,"armyB");
threadArmyA.start();
threadArmyB.start();
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
armyA.keepRunning=false; //结束了军队A的线程
armyB.keepRunning=false; //结束了军队B的线程在军队线程里面,keepRunning需用volatile修饰,表示它可以被不同线程访问和修改。
即:
volatile boolean keepRunning=true;
举报