[單項(xiàng)選擇題] 請(qǐng)閱讀下面程序 public class ThreadTest { public static void main(String args
[單項(xiàng)選擇題] 請(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.sleep()
B.yield()
C.interrupt()
D.start()
正確答案:D
參考解析:本題考查線程的基本知識(shí)。程序中通過(guò)繼承Thread類(lèi)來(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類(lèi)還提供了—些方法對(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)域),建議您咨詢(xún)相關(guān)領(lǐng)域?qū)I(yè)人士。