请阅读下面程序 publicclassThreadTest{ publicstaticvoidmain(Stringargs[])throwsException{ inti=0; Hellot=newHello(); ______, while(true){ System.out.println("GoodMoming"+i++); if(i==2&&t.isAlive()){ System.out.println("MainwaitingforHello!"); t.join();//等待t运行结束 }

题目

请阅读下面程序 publicclassThreadTest{ publicstaticvoidmain(Stringargs[])throwsException{ inti=0; Hellot=newHello(); ______, while(true){ System.out.println("GoodMoming"+i++); if(i==2&&t.isAlive()){ System.out.println("MainwaitingforHello!"); t.join();//等待t运行结束 } if(i==5)break;} } } classHelloextendsThread{ inti; publicvoidrun(){ while(true){ System.out.println("Hello"+i++); if(i==5)break;}}} 为使该程序正确执行, 下划线处的语句应是( )。

A.t.sleep()

B.t.yield()

C.t.interrupt()

D.t.start()


相似考题
更多“请阅读下面程序publicclassThreadTest{publicstaticvoidmain(Stringargs[])throwsException{inti ”相关问题
  • 第1题:

    请阅读下面程序 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.t.sleep()

    B.t.yield()

    C.t.interrupt()

    D.t.start()


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

  • 第2题:

    下面程序的运行结果是____________。publicclassAbc{publicstaticvoidmain(Stringargs[]){intb=5;for(inti=0;i<2;i++){b=b+i}System.out.println(“b=“+b);}}


    参考答案:b=6

  • 第3题:

    请阅读下面程序,说明该程序创建线程使用的方法是( )。 public class ThreadTest { public static void main(String args[]) { Thread tl=new Thread(new HolloWorld); Thread t2=new Thread(new HolloWorld); tl.start; t2.Start; } } class HolloWorld implements Runnable { int i; public void run { while(true) { System.out.println("HolloWorld"+i++); if(i= =5)break; } } }

    A.继承Thread类

    B.实现Runnable接口

    C.tl.start

    D.t2.start


    正确答案:B
    B。【解析】本题考查线程的创建。在Java中,创建线程有两种方法:①通过实现Runnable接口创建线程。Runnable接口中只定义了一个run方法作为线程体。②通过继承Thread类创建线程,Thread类本身实现了Runnable接口。创建的新的线程不会自动运行,必须调用start方法才能运行。本题中HolloWorld类实现了Runnable接口。

  • 第4题:

    请阅读下面程序 public class ThreadTest{ public static void main(String args[])throws Ex- ception{ int i=0; Hello t=new Hello; ; while(true){ System.Out.println("Good Morning"+i++): if(i= =2t.isAlive){ System.out.println("Main waiting for Hel- lo!"); join;//等待t运行结束 } if(i= =5)break;} } } class Hello extends Thread{ int l; public void run{ while(true)( System.Out.println("Hell0"+i++); if(i= =5)break;)))

    A.t.sleep

    B.t.yield

    C.t.interrupt

    D.t.start


    正确答案:D
    D。【解析】程序中通过继承Thread类来创建线程,而Java中新创建的线程不会自动运行,必须调用线程的start方法,才能运行该线程。

  • 第5题:

    清阅读下面程序,说明该程序创建线程使用的方法是( )。 publicclassThreadTest { publicstaticvoidmain(Stringargs[]) { Threadt1=newThread(newHolloWorld()); Threadt2=newThread(newHolloWorld()); t1.start(); t2.start(); } } classHolloWorldimplementsRunnable { inti; publicvoidrun() { while(true) { System.out.println("HolloWorld"+i++); if(i==5)break; } } }

    A.继承Thread类

    B.实现Runnable接口

    C.t1.start()

    D.t2.stan()


    正确答案:B
    解析: 本题考查线程的创建。在Java中,创建线程有两种方法:①通过实现Runnable接口创建线程。Rurmable接口中只定义了一个rail()方法作为线程体。②通过继承Thread类创建线程,Thread类本身实现了Runnable接口。创建的新的线程不会自动运行,必须调用start()方法才能运行;本题中HolloWorld类实现了Runnable接口。