最贊回答 / TendeRess
//內部類的話要用主類的實例去new一個內部類的實例對象,比如Actress actress = new Actor().new Actress(); Thread actressThread = new Thread(actress,"Ms.Runnable"); actressThread.start();//這樣就行了~<...code...>
2018-05-21
最贊回答 / no4990
這篇文章說得很清楚了。當前的線程阻塞,等待調用join()的線程執行。當前的線程可以是 “調用了join()的線程之外的任意線程”。java中的Thread類的joinjoin是Thread的實例方法,官方解釋為:等待該線程終止。其作用就是將調用join的線程優先執行,當前正在執行的線程阻塞,直到調用join方法的線程執行完畢或者被打斷,主要用于線程之間的交互。還有兩個重載的方法:1、join(long?millis),等待該線程終止的時間最長為 millis 毫秒。為 0 意味著要一直等下去。2、joi...
2018-04-23
最新回答 / Destiny_Ly
nong.keepRunning=false的時候,農名的線程還在while里面執行for循環,所以才會輸出for循環剩余的2,3,4,5.等到下一次做while判斷的時候,發現keepRunning標志為false了,才會結束線程。如果想把程咬金結束戰爭的字幕打印到最后,可以sleep一下主線程,或者調用sui和nong線程的join()方法。
2018-01-26
最新回答 / 慕仰6539668
你把 第二個類寫到第一個類里面了public class? XXX{class XXX{}} ? ?? 這個錯誤public class? XXX{}class XXX{}? 這個正確
2018-01-23
最贊回答 / 若如初見1997
你要知道 在ArmyRunnable 類 中 while(keepRunning)? 這里是用的while 而不是if,while會一直判斷,if只會判斷一次,就是你在ArmyRunnable中的初始值!
2017-12-26
最新回答 / 姓白名黑
其他線程處于就緒隊列,等待搶占資源,而wait是進入等待隊列不能搶占資源,如果沒有wait,那么條件不足的線程不進入等待隊列而是進入就緒隊列,這樣的話該線程就有可能再一次進行同步鎖進入退出的操作,這就是所謂的加大開銷。
2017-11-15