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

已采纳回答 / yyAnn
异步是进程之间彼此独立,在等待其他进程的运行时,本进程继续做自己的事,不需要等待其他进程完成后再工作。而互斥,是多个并发进程之间,因竞争使用临界资源而互相排斥执行的间接制约关系。

已采纳回答 / qq_JIADAODI_0
Actress的run方法没有逻辑代码,请问怎么出来???

已采纳回答 / 夜色中的烟雨楼
android中,在线程中是不能对UI进行操作的,改变UI只能在主线程中进行。你这里MainActivity实现了Runnable接口,那它就是个线程,怎么还能在run()方法中去更改UI呢!不知道我这个理解对不对,仅供参考

已采纳回答 / zihoc
结果不固定的,让出cpu后,两个线程同时竞争,所以运行结果不固定。。。

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

已采纳回答 / V还在路上
其区别主要在于共享数据,Runnable是可以共享数据的,多个Thread可以同时加载一个Runnable,当各自Thread获得CPU时间片的时候开始运行runnable,runnable里面的资源是被共享的。

已采纳回答 / 我梦寐以求是真爱与自由
首先stage()本身就是一个线程,而在这个线程里又嵌了两个线程。写在Stage.Run()里面的Thread.sleep(50)只是让stage这个线程休眠50毫秒,但是并没有终止它嵌入的两个线程,所以两个军队一直在打,直到stage休眠结束执行到keepRunning = false时,三个线程都结束了,另外如果你把stage里面的Thread.sleep()注释掉你会发现它一次都没执行,我个人理解是线程异步,先编译再执行线程,编译完keepRunning已经是false了,所以不执行。

已采纳回答 / 泰勒伯顿
这里存在一个概念性问题:工作内存 和  主内存线程操作数据时:会将主内存中的数值read -&一个图load 到工作内存中线程操作完成后:工作内存中的数据 store -&:线程write 到主内存中<...图片...>这里画...

已采纳回答 / qq_熊二的嫂子_0
Actress是实现的接口,接口是不能new的。所以说只能new一个Actress类。然后传递到Thread()中。

已采纳回答 / qq_笨小子_3
在java中所有线程都是同时启动的,至于什么时候。哪个先执行哪个后执行,完全看谁先得到cpu,在运行时每次也不是只执行一个线程

已采纳回答 / 浩瀚银汉
第一个问题:并发时的时刻其实指的是某个很短的时间,当系统只有一个内核时,系统在某个时刻确实只能执行一个线程,大多数系统都用的是时间片轮换算法,就是多个进程在分配到的极短时间...

已采纳回答 / 慕瓜3357229
如果都继承了Thread类的前提下,两种方式都可以创建一个线程对象,一般我们是使用第一种方式来创建线程对象(向上造型);PS:你的第二种方式是调用run方法,比不是让线程进入就绪状态(start());
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消