老师您好,我在AmmyRunnable中添加了一个线程停止的方法
public void stop() { if (keepRunning == true) { keepRunning = false; } System.out.println(Thread.currentThread().getName() + "发出停止进攻的命令!"); }
我发现程序输出的时候,发出停止进攻的命令是由舞台发出的,可是执行这个停止的方法不是分别由各自的军队线程去执行的吗?
我是不是可以这样理解,在多线程中,除了线程自己的run方法是由该线程自己执行的,该线程中的其它方法都是由主线程执行的?
第二个问题其实没什么意义,各个线程的分工合作全靠你来设计,没什么必然的规定。
舞台的作用是告诉军队你得时间到了,该停了。至于真正停下来还是靠run里的控制