最贊回答 / 亞努人
問題在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