[填空題] 請(qǐng)完善程序(程序文件名:Java_2.java)并進(jìn)行調(diào)試。請(qǐng)?jiān)谙庐嬀€處填入正確內(nèi)容,然后刪除下畫線。請(qǐng)勿刪除注釋行和其他已有的語句內(nèi)容。 [題目
[填空題]
請(qǐng)完善程序(程序文件名:Java_2.java)并進(jìn)行調(diào)試。請(qǐng)?jiān)谙庐嬀€處填入正確內(nèi)容,然后刪除下畫線。請(qǐng)勿刪除注釋行和其他已有的語句內(nèi)容。
[題目要求]
在主線程中創(chuàng)建了一個(gè)線程,該線程休眠50ms,然后給變量i賦值。主線程要等該子線程結(jié)束后獲得并輸出i的值,使程序的輸出結(jié)果如下:
j=10,a.i=10
源程序:
public class Java_2 {
public static void main(String args[]) {
try {
Sleep a=new Sleep();
Thread t=new Thread(a);
t. (1) ();
t.join();
int J=a.i;
System.out.println("j="+j+",a.i="+a.i);
} catch(Exception e) {}
}
}
class Sleep implements Runnable {
int i;
public void run() {
try {
Thread. (2) (50);
i=10;
} catch(InterruptedException e) { }
}
}
sleep
參考解析:題目要求中提到該線程休眠50ms,然后給變量賦值,所以此處應(yīng)填讓線程休眠的方法sleep。 [程序解析] 本程序通過實(shí)現(xiàn)Runnable接口重寫run()方法創(chuàng)建線程t。在此程序中用到了3個(gè)方法: (1) start()——?jiǎng)倓?chuàng)建的線程t不會(huì)自動(dòng)運(yùn)行,需要start方法把嵌入線程中的虛擬CPU置為可運(yùn)行狀態(tài),意味著線程可被調(diào)度執(zhí)行。 (2) t.join()——使當(dāng)前的線程等待,直到t結(jié)束為止,線程恢復(fù)到可運(yùn)行狀態(tài)。 (3) sleep()——該方法使一個(gè)線程暫停一段固定時(shí)間。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。