最赞回答 / 亚努人
问题在main方法中的第一句Thread actorThread = new Thread(); 改为Thread actorThread = new Actor(); 就可以了,其他的都没问题。因为实例化(new)的是你创建的类Actor,才能让它的对象actorThread调用start方法启动线程。至于前面的Thread是Thread还是Actor,这里暂时都没有关系,因为Thread是你创建的Actor的父类,用Thread就是多态性里的向上转型,没有问题的。
2016-12-27
最赞回答 / GeniusDSY
join方法会使其他线程进行等待,使使用join方法的线程先运行,待该线程运行完毕之后,其他线程继续运行。而未使用join方法时,该线程与其他线程一致,等到其他线程运行结束后,该线程才可运行,故提前输出了战斗结束,然后才关键人物登场
2016-12-16
最赞回答 / qq_天涯一隅_03157305
<...code...>我认为是 for循环100次 的 Thread t=new Thread(task,"TransferThread_"+i);t.start(); 是多线程
2016-12-14
已采纳回答 / 勤劳工作又不粘人的小妖精
线程只要启动之后不让他等待,就会执行一次代码循环后结束。但其中的过程并不是连续的,代码中指令执行一个while循环后,会释放系统资源使得其他线程有机会竞争系统资源,倘若当前线程休眠(等待),就不会再对资源进行争用,自然也就不会执行下一个while了。隋唐演义舞台stage就是这样,由于舞台休眠,不去争用系统资源,所以舞台的run()方法中指令就停止在sleep那个点,而剩下的隋军和农民军线程是活跃的,自然只能看到他们两个争用资源了。
2016-12-09
最新回答 / 寒金鱼
不守恒的原理视频中已经说的很清楚了,不守恒其实已经存在了,只是你把这两个写颠倒之后,不是此个线程的正确表示状态。就比如int i = 100; 你先输入的i = i - 1; 还是先输入System.out.printfln(i)的区别如果先写i = i - 1 ,再输出i那么i=99如果你先输出i,那么打印输入当然是i = 100。之后再执行i = i - 1。执行结果其实已经是i = 99了,但是你打印输出的是i = 100.
2016-12-06
最新回答 / 九七
extends使线程类为父类,才能继承线程的相关操作。applet是java嵌入html的方法,和thread好像关系不大吧?建议修改问题或者增加提示,才能让更多的人能帮助到你
2016-11-21