[填空題] 通過繼承Thread創(chuàng)建線程,在主控程序中同時運行兩個線程Thread1和Thread2。請在下面橫線處填入代碼完成此程序。 public clas
[填空題] 通過繼承Thread創(chuàng)建線程,在主控程序中同時運行兩個線程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() + "已結(jié)束"); }
正確答案:new TestThread(“Thread2”).start();
參考解析:程序中,類ThreadTest的main方法中生成了兩個TestThread類的線程對象Thread1和Thread2,并在創(chuàng)建后馬上調(diào)用start方法啟動這兩個線程。類TestThread是類Thread的子類,它首先定義了一個構(gòu)造方法,調(diào)用父類的構(gòu)造方法為線程對象命名。由于類Thread創(chuàng)建的線程不做任何事情(它的run()方法是空的),所以對于繼承子類Thread的子類來說,必須重寫run()方法。本例中,類TestThread中的第二個方法就是run()方法,它重寫了類Thread中的run()方法。run()方法中是一個3次的循環(huán),每次循環(huán)中,顯示循環(huán)的次數(shù)和當前正在運行的線程的名字,然后休眠1000毫秒。運行程序的結(jié)果是兩個線程的名字交替顯示,每一個線程運行到輸出語句時,將在屏幕上顯示自己的名字,執(zhí)行到sleep語句時將休眠1000毫秒。線程休眠時,并不占用CPU,其他線程可以繼續(xù)運行。一旦延時完畢,線程將被喚醒,繼續(xù)執(zhí)行下面的語句。這樣,就實現(xiàn)了交替顯示。在循環(huán)結(jié)束后,顯示“已結(jié)束”及線程表。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領域),建議您咨詢相關領域?qū)I(yè)人士。