章节
问答
课签
笔记
评论
占位
占位
今日不再显示

下一节课程: Java线程停止错误的方法---stop (04:39) 下一节 重新观看

3 秒后播放下一节

为你推荐

Arthur
JAVA开发工程师

高级JAVA软件工程狮,典型的程序猿,长期奋战在开发一线,了解行业开发实际。同时爱叨叨,喜分享,善于用简单的生活化例子讲解复杂的技术问题,化繁为简,助人为乐。

提问题

写笔记

代码语言
公开笔记
提交
加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / qq_慕圣2277235
打开你下载的压缩包不是有两个文件么,thread-in-imooc(也就是另外一个文件)里面有其他代码。

已采纳回答 / 我爱小七
其实老师的代码如果在双方军队战斗那加上sleep()方法的话,你会发现:程咬金先战斗完之后才是军队执行完因此个人觉得应该在程咬金出厂后加入一个判断,如下所示:<...code...>这样的话才能使得双方军队退场后,程咬金才会上场,才符合逻辑。

最新回答 / 我爱小七
主角需要!

最赞回答 / mmzpr5554321
main方法本身也是线程,它只是开了一个线程,如果你在main再输出一个语句,有可能main先结束了,舞台线程还在执行;因为程咬金要执行10次,如果不join,舞台不一定会等他执行结束再执行,而军队线程前面已经被setfalse了。不知道解释的对不对,我是这么理解的。

已采纳回答 / 景阳_洪兵
视频里是写死的for循环

最赞回答 / qq_莫月_0
由于java是单继承的语言,所以在已经继承了其他类又想同时实现线程操作的时候就可以实现runable接口。如下代码所示,实现了runable接口的类(runner1是这个类的实例)在开启新线程的时候还是需要thread来辅助的Thread thread1 = new Thread(runner1); thread1.start();

已采纳回答 / 慕粉1473724057
我的理解是这样的 既然是多线程,多天线程同时进行,在农民和隋军的那两条线程进行的同时,就是main下的主线程也在运行(Stage),它在执行农民和隋军的线程的同时,也在一直往下运行,运行到armyTaskOfSuiDynasty.keepRunning=false; armyTaskOfRevolt.keepRunning=false;农民和隋军的线程自然也就停止了。

最赞回答 / no4990
这篇文章说得很清楚了。当前的线程阻塞,等待调用join()的线程执行。当前的线程可以是 “调用了join()的线程之外的任意线程”。java中的Thread类的joinjoin是Thread的实例方法,官方解释为:等待该线程终止。其作用就是将调用join的线程优先执行,当前正在执行的线程阻塞,直到调用join方法的线程执行完毕或者被打断,主要用于线程之间的交互。还有两个重载的方法:1、join(long millis),等待该线程终止的时间最长为 millis 毫秒。为 0 意味着要一直等下去。2、joi...

最新回答 / Destiny_Ly
nong.keepRunning=false的时候,农名的线程还在while里面执行for循环,所以才会输出for循环剩余的2,3,4,5.等到下一次做while判断的时候,发现keepRunning标志为false了,才会结束线程。如果想把程咬金结束战争的字幕打印到最后,可以sleep一下主线程,或者调用sui和nong线程的join()方法。

最赞回答 / 若如初见1997
你要知道 在ArmyRunnable 类 中 while(keepRunning)  这里是用的while 而不是if,while会一直判断,if只会判断一次,就是你在ArmyRunnable中的初始值!

最新回答 / Queen丶Star
大兄弟,那不是快捷键,,那是视频剪辑的问题,不是点了thread 后弹出来的方法补充。 继承一个类也基本不会出现一个方法继承的警告吧,如果你说要快速,   你可以直接写一个run  智能提示alt+/ 能帮你快速生成。。。

最新回答 / 慕瓜7073846
同问?

最新回答 / 慕侠8218338
结合代码和ppt,再使用屏幕录制专家,就可以搞定了

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言