为了账号安全,请及时绑定邮箱和手机立即绑定

简化老师线程创建代码

老师的代码在线程被创建时的地方可以简化如下,列出仅供参考:

首先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
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号