简化老师线程创建代码
老师的代码在线程被创建时的地方可以简化如下,列出仅供参考:
首先ArmyRunnable类可以加上一个构造函数,在构造函数中实现Thread类和start方法
public class ArmyRunnable implements Runnable { Thread thr; //volatile保证了线程可以正确的读取其他线程写入的值 //可见性 ref JMM, happens-before原则 volatile boolean keepRunning; ArmyRunnable(String name) { keepRunning = true; thr = new Thread (this,name);//this 返回一个对ArmyRunnable对象的引用 thr.start(); }
然后Stage类的线程创建代码改动如下
ArmyRunnable armyTaskOfSuiDynasty = new ArmyRunnable("隋军"); ArmyRunnable armyTaskOfRevolt = new ArmyRunnable("农民起义军");