請閱讀下面程序 public class ThreadTest {public static void main(String args[]) throws E
請閱讀下面程序 public class ThreadTest { public static void main(String args[]) throws Exception{ int i=0; Hello t=new Hello(); while(true) { System.out.println("Good Moming"+i++); if (i==2 && t.isAlive()) { System. out.println("Main waiting for Hello!"); t.join(); //等待t運(yùn)行結(jié)束 } if(i==5) break;} } } class Hello extends Thread { int i; public void run() { while(true){ System.out.println("Hello"+i++); if (i==5) break;}}} 為使該程序正確執(zhí)行,下劃線處的語句應(yīng)是
A.t.sleep()
B.t.yield()
C.t.interrupt()
D.t.start()
正確答案:D解析:本題考查線程的基本知識。程序中通過繼承Thread類來創(chuàng)建線程,而Java中新創(chuàng)建的線程不會自動運(yùn)行,必須調(diào)用線程的start()方法,才能運(yùn)行該線程。因此,下劃線處的語句應(yīng)調(diào)用線程的start()方法,即t.start()。 Thread類還提供了—些方法對線程進(jìn)行基本控制,其中,join()方法使當(dāng)前線程暫停執(zhí)行,等待調(diào)用該方法的線程結(jié)束后,再恢復(fù)執(zhí)行:isAlive()方法用來測試線程是否活著。 因此,本題的正確答案是選項D。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。