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

+ 我来回答 回答最高可+2积分

已采纳回答 / 是王小二呀
第一:创建线程只有继承Thread类和实现Runnable接口两种方式(Thread也是实现了Runnable接口);第二:若以继承Thread类方式创建线程则这个类的实例就可以重写Thread类的几十个方法,注意是好几十个方法;第三:若以实现Runnable接口的方式创建线程则仅仅只有一个run()方法可供重写;注意是只有一个;    实现Runnable接口创建的线程最终还是要通过将自身实例作为参数传递给Thread然后执行,当你要为一个没有继承Thread类的类创建线程,而且只想让这个类的实例调用r...

已采纳回答 / 惫懒sloth
Thread.sleep();这个方式是使得当前在运行的线程休眠,作用就是让 Stage休眠,如果单纯的 Stage.sleep()是没有这个方法的。

已采纳回答 / 乔小欠儿
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_大白
操作系统中会有相应的算法避免这种死等的,有的要求在有限的时间内让线程访问。
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消