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

已采纳回答 / 1533687848
就等于是你在等待办业务,在办业务的这个办公室只能有一个人进去,lockObj对象就等于这个办公室,外面等待的人就是这个办公室所拥有的wait set,当一个人办完业务时,办公室会通知所有等待的人说可以进去了,那么这外面等待的所有的人就都同时获得了平等的竞争进入办公室的权力。

已采纳回答 / 萌萌哒猫头鹰
在舞台这个线程里面将两个军队线程对象的KeepRunning属性设置为false,从而结束了两个军队线程。<...code...>在军队线程里面,keepRunning需用volatile修饰,表示它可以被不同线程访问和修改。即:<...code...>

已采纳回答 / 海哥来了
因为你的计算机是多CPU计算机,就有可能并行执行,而不一定是并发

已采纳回答 / Wayaye
线程3在没有争夺到锁的情况下肯定不会进入Wait Set等待了。这和你刚开始说的当线程1争夺到锁,而2、3没有争夺到时情况应该是一样的,CPU应该是还没有机会执行这条线程。一家之言。

已采纳回答 / meersun
在A线程中调用了B线程的join方法,意思是直到线程A执行完毕后才会执行线程B,所以这里的join只对舞台线程起作用。对起义军和隋军线程,程咬金的join方法根本不起作用。我试了下,把keepRunning设为false的语句注释掉,发现即使加上chengyaojin.join(),这两个线程也不会停止,会一直运行下去。

已采纳回答 / qq_等风来_32
第一个问题 :隋军的线程的start()在农民军的start()之前,那么就是隋军先启动,但是这不意味他就能先得到CPU,启动之后能不能得到cpu不一定第二个基本是这个意思,留给军队更多的执行时间,你可以注释掉50毫秒看看运行结果,就能明白了,会发现军队的执行次数会少很多

已采纳回答 / Tong丶code
互斥:通常表现在多个线程竞争同一资源,比如这里只有一只笔,同时有几个人要进行签到,但资源(笔)唯一,线程(人)之间就存在竞争关系,并且同一时间只有一个线程(人)能够持有这个资源(笔)。同步:同步就是协同步调,按预定的先后次序进行运行,如进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。(来源于百度百科)

已采纳回答 / 慕粉3131963
感觉是不可以的吧,,我也是初学。不调用notify方法会导致等待区里的线程一直得不到释放,最终是否会导致等待区里的线程积压,运行的线程越来越少

已采纳回答 / _神人A
<...code...>你把wutai 这个class改成如上就ok了。你catch exception的括号写错了

已采纳回答 / u_sicAsiaChina_0
不不,说明你还没理解休眠到底什么意思。sleep()只是让线程休眠一定时间,时间到了后会继续执行线程。而且隋军和起义军又是两个线程,一旦start()后,除非运行完或者主动让出资源,又或者其他线程join()进来,否则是不会结束的

已采纳回答 / u_sicAsiaChina_0
不不,第一这个yield(),只是在军队这个线程里,和舞台没有关系;第二休眠50毫秒是整个舞台停止进程50毫秒,舞台停止的50毫秒中,军队线程是继续执行的;第三join()方法执行后会让出所有资源给它的对象,而在打印的输出实在无时无刻不进行的,也就在舞台里的打印输出会因为舞台线程的休眠而休眠

已采纳回答 / meersun
一直可以这样简写,因为你分成两步也一样,这里的s你还得给起个名字,而且这个名字以后也用不到。所以直接简写就可以。如果这个stage名字以后还要用,那就必须分开写了。
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消