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