啟動 sj1? nm1 兩個進(jìn)程后,什么時候會修改keep值為false,是隨機(jī)的嗎public class JunDui implements Runnable{?//volatile保證了線程可以正確的訪問其他線程寫入的值??volatile boolean keep = true;?@Override?public void run() {??// TODO Auto-generated method stub??while (keep ) {???for (int i = 0; i < 5; i++) {????System.out.println(Thread.currentThread().getName()??????+"發(fā)動了"+(i+1)+"次攻擊");????//讓出了處理器時間????Thread.yield();???}???System.out.println(Thread.currentThread().getName()?????+"結(jié)束了攻擊");??}?}}public class Stage extends Thread {//舞臺?@Override?public void run() {??// TODO Auto-generated method stub??JunDui sj = new JunDui();??JunDui nm = new JunDui();????Thread sj1 = new Thread(sj,"隋軍");??Thread nm1 = new Thread(nm,"農(nóng)民起義軍");????//啟動進(jìn)程??sj1.start();??nm1.start();????//舞臺進(jìn)程休眠??try {???Thread.sleep(50);??} catch (InterruptedException e) {???// TODO Auto-generated catch block???e.printStackTrace();??}????sj.keep = false;??nm.keep = false;????try {???sj1.join();??} catch (InterruptedException e) {???// TODO Auto-generated catch block???e.printStackTrace();??}?}
1 回答

botao555
TA貢獻(xiàn)48條經(jīng)驗(yàn) 獲得超46個贊
keep是用來結(jié)束線程的標(biāo)志量,你可以在你需要結(jié)束線程的時候講keep顯式置為false
添加回答
舉報
0/150
提交
取消