亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于多線程初級的問題。

關于多線程初級的問題。

道臨 2016-10-26 20:22:31
package?com.imooc.concurrent.base; public?class?ArmyRunnable?implements?Runnable?{ //volatile保證了線程可以正確讀取其他線程寫入的值 volatile?Boolean?keepRunning?=?true; @Override public?void?run()?{ while(keepRunning){ for(int?i=0?;?i<5?;?i++){ System.out.println(Thread.currentThread().getName()+"進攻對方"+(i+1)+"次"); //緩沖,釋放內存,給予士兵休息的時間 Thread.yield(); } } System.out.println(Thread.currentThread().getName()+"結束了攻擊"); } }package?com.imooc.concurrent.base; public?class?Stage?extends?Thread?{ public?void?run(){ ArmyRunnable?armyTaskOfSuiDynasty?=?new?ArmyRunnable(); ArmyRunnable?armyTaskOfRevolt?=?new?ArmyRunnable(); //使用runnable接口創建線程 Thread?armyOfsuiDynasty?=?new?Thread(armyTaskOfSuiDynasty,"隋軍"); Thread?armyOfRevolt?=?new?Thread(armyTaskOfRevolt,"農民起義軍"); //啟動線程,開始作戰 armyOfsuiDynasty.start(); armyOfRevolt.start(); try?{ //舞臺線程休眠,專心觀看廝殺 Thread.sleep(50); }?catch?(InterruptedException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } armyTaskOfSuiDynasty.keepRunning?=?false; armyTaskOfRevolt.keepRunning?=?false; try?{ armyOfRevolt.join(); }?catch?(InterruptedException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } } public?static?void?main(String[]?args)?{ new?Stage().start(); } }是怎么結束的,因為while是一個無限循環,代碼是怎么運行到armyTaskOfSuiDynasty.keepRunning?=?false; armyTaskOfRevolt.keepRunning?=?false;這里的,可能我表達的意思不清楚,就是說這個while循環是怎么停止的
查看完整描述

3 回答

已采納
?
慕粉4075985

TA貢獻104條經驗 獲得超33個贊

?armyTaskOfSuiDynasty.keepRunning?=?false;

????????armyTaskOfRevolt.keepRunning?=?false;


查看完整回答
反對 回復 2016-10-26
  • 道臨
    道臨
    你看,先運行到兩個start(),開始執行兩個線程,這時keepRunning還是true,按照順序它是怎么運行到keepRunning==false的
  • 道臨
    道臨
    keepRunning==false是執行完線程才開始執行的么
  • 慕粉4075985
    慕粉4075985
    線程就是同時進行,armyOfsuiDynasty.start();start后ArmyRunnable線程開始攻擊,同時stage睡了50毫秒,睡醒了ArmyRunnable還在打,打的同時stage執行armyTaskOfSuiDynasty.keepRunning = false;
點擊展開后面1
?
car

TA貢獻184條經驗 獲得超33個贊

多線程的執行,不影響后面代碼的執行

查看完整回答
反對 回復 2016-10-27
?
慕粉4075985

TA貢獻104條經驗 獲得超33個贊

為什么是無限循環

查看完整回答
反對 回復 2016-10-26
  • 3 回答
  • 0 關注
  • 1815 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號