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

已采纳回答 / 张探长
查看api可知道 Runnable 接口,只提供了run()方法。所以只实现了 Runnable 接口的类并不能启动线程。当你再查看Thread的api时,有多个重载的构造函数比如这个: <...code...>启动线程只能用Thread里面的start() 方法。<...code...>

已采纳回答 / 慕九州3071363
yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。

已采纳回答 / qq_弑神S无尘
当年我学也没有,推荐一种写法private boolean flag=true;public void setFlag(boolean f ){flag=f;}在别的地方调用setFlag来改变标志。老师讲的关键字是什么时候出的我都不知道,我手边的书附录java关键字表也没有它

已采纳回答 / 慕婉清0501596
看你用的什么软件  我用的idea 快捷键是Ctrl+D eclipse 是  Ctrl+Alt+↓    复制当前行到下一行(复制增加)Ctrl+Alt+↑    复制当前行到上一行(复制增加)  百度下就行   

已采纳回答 / qq_慕粉119689
1.这个程序有四个线程。我们一开始是让stage线程启动,之后启动完之后,再启动armyOfSuiDynasty和armyOfRevolt这两个对象的线程。假如你不让舞台休眠50ms的话,那么舞台线程会继续执行下去,等到旗标的地方为false时,两个对象分别只运行一次循环。我认为你的第二个问题个第一个问题有点重复。第二个问题。stage线程对子线程的继续执行肯定有影响,没有stage线程的休眠,子线程肯定不可能厮杀那么久,至于为什么,就是因为想让他们厮杀一下吧。控制子线程的执行时间吧。我想。你不妨可以实际...

已采纳回答 / wo45136
要么实现接口Runnable要么继承Threadmain是方法入口,线程的run方法是在调用start方法后自动调用的

已采纳回答 / 低等动物
thread 是线程类,runnable是个接口,通常是thread调用runnable

已采纳回答 / 慕婉清6938573
随着时间推移,处于运行中的线程是不一样的。currentThread()方法是指出当前正在运行的线程

已采纳回答 / 小娜子
调用sleep()阻塞当前线程,当其他线程调用interrupt()的时候,sleep()会发生InterriptedException()中断异常,并清除中断状态。System.currenttime - time)<1000是if的判断条件,当这个值小于1000时进入if()代码块执行程序。

已采纳回答 / _布袋馍_
join()方法是终止其他线程,优先完成本线程。这个代码只有两个线程在竞争CPU。一个进行完不就只剩下一个线程了嘛  没必要在写多余的代码了 如果线程多了 就可以多写几个join()方法了。

已采纳回答 / krisleo
Thread 是一个类只能继承后,复写run方法后,生成线程类对象调用start方法就可以实现线程的运行。Runnable是一个接口,里面只有一个run方法,只有实现(implement)这个接口后,必须复写run方法才能运行,步骤和Thread是一样的,一般用Runnable比较多

已采纳回答 / 罗曼蒂轲
cpu的执行时分时的,比如你电脑现在开启了三个程序ABC,。CPU在这三个程序之间不停的切换执行,由于速度很快,你觉得它们是一起执行的,执行ABC不一定是按顺序的,也可能是A>C>A>B>B>B>C>A>B>A,所以会出现随机性的交替执行

已采纳回答 / 精慕门3842059
yield()方法是个static方法,默认就是当前线程让出CPU,并与其他线程一起竞争CPU使用权

已采纳回答 / 玄鉴
我感觉是一样的,都是占着锅里的,渴望对方碗里的,还死不想让,结果导致被占着的厕所永远被这两个人占领,其他人都无法正常使用。除非关闭停止运行程序,大家都去睡觉,不然这两个线程将永远处于死锁状态。而且第二天还是有可能再次出现这种情况的,不过概率很小而已。

已采纳回答 / 风云7857
Thread.sleep()使当前线程在指定的时间处于“非运行”(Not Runnable)状态。线程一直持有对象的监视器。比如一个线程当前在一个同步块或同步方法中,其它线程不能进入该块或方法中。如果另一线程调用了interrupt()方法,它将唤醒那个“睡眠的”线程。注意:sleep()是一个静态方法。这意味着只对当前线程有效,一个常见的错误是调用t.sleep(),(这里的t是一个不同于当前线程的线程)。即便是执行t.sleep(),也是当前线程进入睡眠,而不是t线程。t.suspend()是过时的方...
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消