[单项选择题] 请阅读下面程序 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。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)