請(qǐng)閱讀下面程序 public class ThreadTest {public static void main(String args[]) throws E
請(qǐng)閱讀下面程序 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ǔ)句應(yīng)是
A.t.sleep()
B.t.yield()
C.t.interrupt()
D.t.start()
正確答案:D解析:本題考查線程的基本知識(shí)。程序中通過(guò)繼承Thread類來(lái)創(chuàng)建線程,而Java中新創(chuàng)建的線程不會(huì)自動(dòng)運(yùn)行,必須調(diào)用線程的start()方法,才能運(yùn)行該線程。因此,下劃線處的語(yǔ)句應(yīng)調(diào)用線程的start()方法,即t.start()。 Thread類還提供了—些方法對(duì)線程進(jìn)行基本控制,其中,join()方法使當(dāng)前線程暫停執(zhí)行,等待調(diào)用該方法的線程結(jié)束后,再恢復(fù)執(zhí)行:isAlive()方法用來(lái)測(cè)試線程是否活著。 因此,本題的正確答案是選項(xiàng)D。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。