为什么停止军队线程的操作是被舞台线程执行的?

来源:2-4 Java线程-隋唐演义实战开发---军队

窗外有个蓝蓝天

2015-04-05 14:44

老师您好,我在AmmyRunnable中添加了一个线程停止的方法

public void stop() {
    if (keepRunning == true) {
        keepRunning = false;
    }
    System.out.println(Thread.currentThread().getName() + "发出停止进攻的命令!");
}

我发现程序输出的时候,发出停止进攻的命令是由舞台发出的,可是执行这个停止的方法不是分别由各自的军队线程去执行的吗?

我是不是可以这样理解,在多线程中,除了线程自己的run方法是由该线程自己执行的,该线程中的其它方法都是由主线程执行的?

写回答 关注

2回答

  • Arthur
    2015-04-08 06:45:20

    第二个问题其实没什么意义,各个线程的分工合作全靠你来设计,没什么必然的规定。

  • Arthur
    2015-04-08 06:44:24

    舞台的作用是告诉军队你得时间到了,该停了。至于真正停下来还是靠run里的控制

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题