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

為了賬號安全,請及時綁定郵箱和手機立即綁定

簡化老師線程創建代碼

老師的代碼在線程被創建時的地方可以簡化如下,列出僅供參考:

首先ArmyRunnable類可以加上一個構造函數,在構造函數中實現Thread類和start方法

public?class?ArmyRunnable?implements?Runnable?{
????
	Thread?thr;
	
	//volatile保證了線程可以正確的讀取其他線程寫入的值
	//可見性?ref?JMM,?happens-before原則
????????volatile?boolean?keepRunning;
	
	ArmyRunnable(String?name)?{
		keepRunning?=?true;
		thr?=?new?Thread?(this,name);//this?返回一個對ArmyRunnable對象的引用
		thr.start();
	}

然后Stage類的線程創建代碼改動如下

????????????????ArmyRunnable?armyTaskOfSuiDynasty?=?new?ArmyRunnable("隋軍");
		ArmyRunnable?armyTaskOfRevolt?=?new?ArmyRunnable("農民起義軍");


正在回答

3 回答

什么時候用Thread創建線程,什么時候用Runnable接口呢?

1 回復 有任何疑惑可以回復我~
#1

慕妹3625347

當一個類要繼承多個類時,繼承Thread類是不行的,因為jsva只能繼承一個類最多,所以這時就要用實現Runnable方法
2016-05-03 回復 有任何疑惑可以回復我~

因為這樣可以創建Runnable對象的同時創建線程,簡化了代碼實現。

0 回復 有任何疑惑可以回復我~

為什么在 Runnable 的實例中創建 線程?????

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

簡化老師線程創建代碼

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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