為什么停止軍隊(duì)線程的操作是被舞臺(tái)線程執(zhí)行的?
老師您好,我在AmmyRunnable中添加了一個(gè)線程停止的方法
public?void?stop()?{
????if?(keepRunning?==?true)?{
????????keepRunning?=?false;
????}
????System.out.println(Thread.currentThread().getName()?+?"發(fā)出停止進(jìn)攻的命令!");
}我發(fā)現(xiàn)程序輸出的時(shí)候,發(fā)出停止進(jìn)攻的命令是由舞臺(tái)發(fā)出的,可是執(zhí)行這個(gè)停止的方法不是分別由各自的軍隊(duì)線程去執(zhí)行的嗎?
我是不是可以這樣理解,在多線程中,除了線程自己的run方法是由該線程自己執(zhí)行的,該線程中的其它方法都是由主線程執(zhí)行的?
2015-04-08
第二個(gè)問題其實(shí)沒什么意義,各個(gè)線程的分工合作全靠你來(lái)設(shè)計(jì),沒什么必然的規(guī)定。
2015-04-08
舞臺(tái)的作用是告訴軍隊(duì)你得時(shí)間到了,該停了。至于真正停下來(lái)還是靠run里的控制