为了账号安全,请及时绑定邮箱和手机立即绑定
爱看不看,别看出门左拐不送。 go out

已采纳回答 / bbug
java多线程可以近似看成同时执行,不过本质上计算机能同时工作的线程数是有限个的(取决于你的CPU)老师演示的时候农民军和隋军交替结果看起来应该是至少有两个线程是同时工作的。而你这个明显是仅分配给了这个程序一个线程。多线程是为了解决某些应用上需要等待其他的结果(比如浏览器访问一个网址需要等待服务器返回HTML文件才能继续执行显示页面的操作)才能继续执行,那么这段时间cpu可以去执行其他线程的程序。但是如果这个线程可以一口气执行下去的话,中途其他线程是没有办法执行的。-----------------以下是...

最赞回答 / bbug
舞台县城控制了两个军队的开始(前2行)和结束(后2行)。换句话说,舞台线程不运行,军队的线程就不会执行sleep方法是让当前线程暂停指定的时间即50毫秒,这个50毫秒在军队的启动和结束之间,也就是军队进攻只有50毫秒的时间。如果没有暂停应该是各自只攻击一轮(取决于处理器速度)因为在第一轮还没结束的时候已经执行了最后两行的赋值了。着重说一点,sleep休眠的仅仅是舞台线程,两个军队的线程还在执行,因为sleep是写在舞台线程里面的(这段代码全是舞台线程的)。
实在看不下去了,总结:本视频只适用初学者
JMM提供了volatile变量定义、final、synchronized块来保证可见性。
例如:线程a在将共享变量x=1写入主内存的时候,如何保证线程b读取共享变量x的值为1,这就是JMM做的事情。JMM通过控制主内存与每个线程的本地内存之间的交互,来为java程序员提供内存可见性保证。
我真的很喜欢这样的教育,学起来就像在享受
签到:2016-12-30 9:24
老师讲课声音能再洪亮、有力些就好了。
热学第一定律是托马斯提出的,初中物理(手动斜眼)
概念解释不清,很多地方有口误和歧义,希望能修改下
污污!但是例子很好加深记忆。

最赞回答 / 亚努人
问题在main方法中的第一句Thread actorThread  = new Thread();  改为Thread actorThread  = new Actor();  就可以了,其他的都没问题。因为实例化(new)的是你创建的类Actor,才能让它的对象actorThread调用start方法启动线程。至于前面的Thread是Thread还是Actor,这里暂时都没有关系,因为Thread是你创建的Actor的父类,用Thread就是多态性里的向上转型,没有问题的。
这位老师讲解还是不够通俗易懂,比如“while循环,保证条件不满足时任务都会被条件阻挡,而不是继续竞争CPU资源”,理解起来好复杂。
我是在学多线程编程,而不是在看隋唐演义啊。。。重点在哪?理论知识又在哪?
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消