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

已采纳回答 / 乔小欠儿
Stage的run方法里有armyOfFarmer.join();这句。这句的意思是说农民的run方法执行完了才能往armyOfFarmer.join();这句代码之后运行。但你看看你的ArmyRunnable的run方法里,while (keepRunning)的keepRuning一直是true,...

已采纳回答 / sxian_wang
不会,主要是这样的:先明白两个概念:锁池和等待池。synchronized是锁池,wait、notify、notifyAll是等待池。等待池的对象是不会竞争锁的,当notifyAll后,等待池中的线程会被唤醒进入到该线程的锁池中重新竞争对象锁,重新获得锁后的对象会从wait后继续执行代码,其他对象会被阻塞,而不是wait。被阻塞的对象会等待下一次被唤醒(notify、notifyAll)。另外,notify不是线程安全的,notifyAll才是。

最新回答 / KTZ_小凯
我把Thread actor = new Actor();   改成Actor actor = new Actor();  就变成了10个一组

已采纳回答 / sxian_wang
其实就是this.getName();这个类是Thread的成员函数,这个方法在Thread中已经实现了,所以在子类中可以直接调用。这两种写法没有本质上的区别,都是指当前对象的xxxx。在实际开发中,加不加this,我没有查到有一种确切结论,更多是个人习惯吧。不过貌似在访问当前对象的属性(变量)的时候一般多用this;而在对象内部调用非静态方法时不用this,直接用函数名调用。

已采纳回答 / HansonQ
因为你不继承的话直接使用Thread没有任何意义。你要多个窗口卖车表,你直接实例化Thread并不能实现多个窗口卖车票

已采纳回答 / 风拔萝卜
这个要分情况的。如果你是用的实现Runnable类的方式的话可以直接使用this,而如果是使用继承Thread的方式时就不要使用this,因为此时this指向不同对象,这样每个线程都拥有自己的锁,无法实现同步

最新回答 / cs_大白
操作系统中会有相应的算法避免这种死等的,有的要求在有限的时间内让线程访问。

最新回答 / wangdd3
你运行的什么程序啊??  程序中有控制台打印输出么??

已采纳回答 / 转变者
这里不一样的呀!public class ActorCopy extends Threadclass Actress implements Runnable

最新回答 / qq_慕圣2277235
运行多少次不清楚,但是使用sleep(50)给了军队线程交互时间。时间结束while循环终止。

已采纳回答 / 天启之魂
如果使用if 那么判断标记后,线程等待然后被唤醒 会直接执行下面的语句,但是可能这时条件是不成立的所以需要重新判断条件 使用while就可以重复判断标记
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消