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

最赞回答 / define_ray
在使用Runnable定义的子类中没有start()方法,只有Thread类中才有。此时观察Thread类,有一个构造方法:public Thread(Runnable targer)此构造方法接受Runnable的子类实例,也就是说可以通过Thread类来启动Runnable实现的多线程。(start()可以协调系统的资源)在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下好处:避免点继承的局限,一个类可以继承多个接口。适合于资源的共...

已采纳回答 / 慕粉4270154
在EnergySystemTest中只创建了一个EnergySystem对象eng,每个线程使用的都是eng这对象里lockObj对象。

最赞回答 / helloMrfuture
因为每条线程就是一个数组元素,能量的转换就是在数组元素间进行的传递,只是从一个数组元素转移到了另一个数组元素,而经过加锁机制之后,数组元素中不会有数据的丢失,故最后的总值还是原数组的所有数组元素的总和。

已采纳回答 / Mr丶Lee95
用来控制线程,让线程里的while结束循环,执行完run方法

最新回答 / 厘米error
第一个是匿名对象,new一个你实现Runnable接口的类的对象,第二个是给名字

已采纳回答 / 慕粉13718507713
你所谓的操作系统指的是啥?多线程在java中算是不太难的知识点了,主要可以通过类比去理解,比如超市,比如买票等,学线程重在理解,难在互斥和同步,不懂了,停下来想一想,或者看一个类似视频,慢慢理解了,就懂了

已采纳回答 / 于太阳
Debug调试的时候输出就是0到99的顺序,不用Debug调试直接运行就不是0到99输出。大致可以理解为创建了所有的线程,再争用资源。调试的时候有断点,产生了优先级,所以才按序输出的。

已采纳回答 / 慕粉2118219580
其实stage线程和军队线程之间是没有关系的,只是stage线程让军队线程开始执行而已。一个线程可以理解为一段代码,线程相互之间没有关系,除非对公共资源进行读取或修改

已采纳回答 / 予别她
你这个方法没有定义返回值,然后if条件语句里面那个return不能跳出循环,输出演出结束那句话永远也到不了,所以程序会报错,可以把return改成break就好了

最赞回答 / 世上无难事_只要肯放弃
这样 wait一般等什么东西的时候就要跟for如果是“在..等”就用“at,in”等介词大的地方时in小地方at 比如:在校门口等 wait at the school gate

已采纳回答 / ___C___
把volatile boolean keepRunning = true;放到run方法外面去,作为类rmyRunable的成员变量。谢谢采纳

已采纳回答 / FarFromAnyRoad
两个军队的线程都停止。舞台并没有停止join()应该就是阻塞(这个不结束,不继续运行),你不阻塞,线程程咬金还在运行,调用线程的舞台就结束了

已采纳回答 / 蒂谷
估计你是想问农民军和隋军的线程运行了多久,这个的话就貌似跟舞台线程的休眠时长有关。Thread.sleep(5)那里。休眠的越久,就战斗的越久,执行到keepRunning = false的时间就越长。反之越短
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消