通过继承Thread创建线程,在主控程序中同时运行两个线程Thread1和Thread2。请在下面横线处填入代码完成此程序。 public class ThreadTest { public static void main(String

admin2010-02-22  15

问题 通过继承Thread创建线程,在主控程序中同时运行两个线程Thread1和Thread2。请在下面横线处填入代码完成此程序。
  public class ThreadTest
  {
     public static void main(String args[])
     {     
          new TestThread("Threadl").start();
         【  】
     }
  }
  class TestThread extends Thread()
  {
     public TestThread(String str)
     {
           super (str);
     }
    public void run()
  {
        for(int i = 0; i<’5; i++)
        {
                 System.out.println(i +  ....+ getName()  + "在运行");
                 try
                 {
                       Sleep(1000);
                 }catch(InerruptedException e)  {}
        }
          System.out.println(getName()  + "已结束");
   }

选项

答案new TestThread(“Thread2”).start();

解析 程序中,类ThreadTest的main方法中生成了两个TestThread类的线程对象Thread1和Thread2,并在创建后马上调用start方法启动这两个线程。类TestThread是类Thread的子类,它首先定义了一个构造方法,调用父类的构造方法为线程对象命名。由于类Thread创建的线程不做任何事情(它的run()方法是空的),所以对于继承子类Thread的子类来说,必须重写run()方法。本例中,类TestThread中的第二个方法就是run()方法,它重写了类Thread中的run()方法。run()方法中是一个3次的循环,每次循环中,显示循环的次数和当前正在运行的线程的名字,然后休眠1000毫秒。运行程序的结果是两个线程的名字交替显示,每一个线程运行到输出语句时,将在屏幕上显示自己的名字,执行到sleep语句时将休眠1000毫秒。线程休眠时,并不占用CPU,其他线程可以继续运行。一旦延时完毕,线程将被唤醒,继续执行下面的语句。这样,就实现了交替显示。在循环结束后,显示“已结束”及线程表。
转载请注明原文地址:https://kaotiyun.com/show/ilnp777K
0

最新回复(0)