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

最新回答 / Coda
用的是金山的WPS演示。这里有两个网址,你可以参考一下。<...code...>

讲师回答 / Arthur
你得结果也是正常的。简单说只有Running的线程拥有CPU,CPU时间片用完就释放。这就是为什么还没调用sleep(),另一个线程就执行了。要把整个问题说清楚需要了解Java线程的状态及迁移的知识。你可以参考慕课上的《细说Java多线程》

讲师回答 / Arthur
用了volatile,你在这里写入keepRunning的值,run里面的while才能结束。不用volatile,run里面的while很有可能停不下来。具体你可以去Wiki看看。

讲师回答 / Arthur
run()其实是Runnable的成员函数,自己并不是Thread。你如果习惯用this,说明你总是在继承Thread类。如果你通过Runnable的方式初始化一个线程,你自然就不会用this鸟。

讲师回答 / Arthur
%10.2f只说明位数和精度,并不强制要求占满。如果要求部位前面加0

讲师回答 / Arthur
首先从语法上,lockObj换成energyBoxes是可以的,不过易读性是否降低你要考虑了。第二点,效率要让位于安全。如果多个资源是无关的,自然可以不同的锁来互斥(那为什么要放在同一个类里面呢?恐怕要反思设计了),如果资源对线程的访问有严格的互斥约束,那么就不能有多个锁对象。
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消