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

22 查阅

[填空题] 通过继承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,其他线程可以继续运行。一旦延时完毕,线程将被唤醒,继续执行下面的语句。这样,就实现了交替显示。在循环结束后,显示“已结束”及线程表。

计算机考试