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