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

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

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

最新回答 / yyz要学java
再调用一次Thread.interrupted();方法 会清除掉之前线程的状态具体的建议你看一下api该方法可以清除线程的中断状态 。 换句话说,如果这个方法被连续调用两次,那么第二个调用将返回false(除非当前线程再次中断,在第一个调用已经清除其中断状态之后,在第二个调用之前已经检查过)。忽略线程中断,因为线程在中断时不存在将被该方法返回false所反映。结果true如果当前线程已被中断; false否则。以上是java api中的表述

最赞回答 / qq_莫月_0
由于java是单继承的语言,所以在已经继承了其他类又想同时实现线程操作的时候就可以实现runable接口。如下代码所示,实现了runable接口的类(runner1是这个类的实例)在开启新线程的时候还是需要thread来辅助的Thread thread1 = new Thread(runner1); thread1.start();
最好专门学学操作系统的进程那一块。线程这东西本来就不是一时半会就能熟练掌握的。
这里有个详解,代码例子和老师的几乎一样https://blog.csdn.net/li12412414/article/details/54581615
加上volatile后,当在stage里面keeprunning值改变为false时候,军队线程也会立刻改变为false,然后停止攻击。不加的话可能军队没有及时收到值改变的消息,还在攻击。
其实有点意思,只不过需要慢慢品味
看着看着又去把《隋唐演义》重新看了一遍
为什么要讲的这么复杂,进程不就是打开App,线程不就是在一个App里的各种操作麽?

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

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

最赞回答 / 般若菠萝蜜yy
对的,然后等待其他线程调用同一条件变量的notify()或者notifyAll()方法
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消