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

18 查阅

[填空题] 通过继承Thread创建线程,在主控程序中同时运行两个线程Thread1和Thread2。请在下面横线处填入代码完成此程序。 public class ThreadTest { public static void main(String args[]) {new TestThread("Threadl").start(); 【7】 } } 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,其他线程可以继续运行。一旦延时完毕,线程将被唤醒,继续执行下面的语句。这样,就实现了交替显示。在循环结束后,显示“已结束”及线程表。

计算机考试