已采纳回答 / 勤劳工作又不粘人的小妖精
线程只要启动之后不让他等待,就会执行一次代码循环后结束。但其中的过程并不是连续的,代码中指令执行一个while循环后,会释放系统资源使得其他线程有机会竞争系统资源,倘若当前线程休眠(等待),就不会再对资源进行争用,自然也就不会执行下一个while了。隋唐演义舞台stage就是这样,由于舞台休眠,不去争用系统资源,所以舞台的run()方法中指令就停止在sleep那个点,而剩下的隋军和农民军线程是活跃的,自然只能看到他们两个争用资源了。
2016-12-09
已采纳回答 / Askusity
Actor是Thread的子类,这是定义一个父类类型的引用指向一个子类的对象,如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法,如果子类中定义了父类中没有的方法是没办法执行的,这里呢,你可以理解为:Actor actor=new Actor();
2016-11-17
已采纳回答 / silencecorner
条件不满足时也就是其它线程还没有将数据写回(这里的lockObj是EnergySystem的final成员,用来标记EnergySystem,lockObj.wait()也就相当于EnergySystem实例.wait()),等待写入之后(也就是满足条件),执行逻辑代码,在唤醒其它线程(有可能还没有写入数据的)。可以回头看争用条件那节,有助于理解,我专门截了图。<...图片...>
2016-10-31