[单项选择题] 请阅读下面程序 public class ThreadTest { public static void main(String args[]) throws Exception

15 查阅

[单项选择题] 请阅读下面程序 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;}}} 为使该程序正确执行,下划线处的语句应是

A.sleep()

B.yield()

C.interrupt()

D.start()

参考答案:

D

本题考查线程的基本知识。程序中通过继承Thread类来创建线程,而Java中新创建的线程不会自动运行,必须调用线程的start()方法,才能运行该线程。因此,下划线处的语句应调用线程的start()方法,即t.start()。 Thread类还提供了—些方法对线程进行基本控制,其中,join()方法使当前线程暂停执行,等待调用该方法的线程结束后,再恢复执行:isAlive()方法用来测试线程是否活着。 因此,本题的正确答案是选项D。

计算机考试