1.程序是應(yīng)用程序執(zhí)行的藍(lán)本。進(jìn)程是程序的一次動態(tài)的執(zhí)行過程。進(jìn)程由(操作系統(tǒng))管理。進(jìn)程由(進(jìn)程)控制。
2.JAVA中的線程模型由(CPU)(代碼)和(數(shù)據(jù))幾部分組成。
3.JAVA線程的線程體由(run())方法提供。線程在創(chuàng)建后,通過(start())方法將線程啟動。
4.新建的線程缺省具有父線程的優(yōu)先級。主線程一般具有(普通)優(yōu)先級。設(shè)置線程優(yōu)先級的方法是(setPriority())。
5.線程在生命周期中要經(jīng)歷五種狀態(tài),分別是(新建)狀態(tài)、(可運行)狀態(tài)、(運行)狀態(tài)、(阻塞)狀態(tài)、(死亡)狀態(tài)。
6.JAVA中一個類只有實現(xiàn)了(serializable)接口,它的對象才是可串行化的。
7.當(dāng)實現(xiàn)Runnable 接口時,要實現(xiàn)的方法是( D )。
A. start() B.resume() C init() D run()
8.閱讀下列程序:
Class ThreadTest extends Thread{
Public static void main(String args[]){
Thread t=new Thread(this);
t.start();
}
Public void run(){
System.out.print(“A thread test. ”);
}
}
對該程序而言,正確結(jié)論是(C )
A. 該程序能夠通過編譯并打印輸出“A thread test.”
B. 該程序能夠通過編譯,但運行時將不調(diào)用ThreadTest類中的run()方法,因此不產(chǎn)生任何輸出
C. 該程序存在編譯錯誤,因為在main()方法中不能使用this指針
D. 上訴選項都不正確
9.下列方法可以通過Thread類就可以調(diào)用,而不需要通過Thread類的實例進(jìn)行調(diào)用的是A
A.sleep() B.start() C.setPriority() D.suspend()
10.Thread類提供表示線程優(yōu)先級的靜態(tài)常量,代表普通優(yōu)先級的靜態(tài)常量是(C)
A. MAX_PRIORITY B.MIN_PRIORITY C.NORMAL_PRIORITY
D.NORM_PRIORITY
11.下列線程交互的方法中,不提倡使用的方法是(D)
A.stop() B.suspend()和resume() C.wait()和notify() D.A和B
12.JAVA線程在創(chuàng)建后調(diào)用start()方法,將使線程進(jìn)入(B)。
A.運行狀態(tài) B.可運行狀態(tài) C。等待阻塞狀態(tài) D.A和B
13.利用繼承Thread 類的方法創(chuàng)建兩個線程,這兩個線程執(zhí)行的操作相同,都是以隨機的時間間隔打印5個自己的名稱。兩個線程的名稱分別為“First”和“Second”.運行結(jié)果如圖:
0 First
0 Second
1 Second
2 Second
3 Second
1 First
4 Second
DONE! Second
2 First
3 First
4 First
DONE! First
14.編寫Applet,利用實現(xiàn)Runnable接口的方法創(chuàng)建一個顯示當(dāng)前時間的線程,如圖:
Applet
10:40:32
13編程提示:
創(chuàng)建一個Thread類的子類。在該類的run()方法中利用一個循環(huán)打印自己的名稱。每打印一個名稱調(diào)用sleep()方法隨機休眠一段時間。獲取線程的名稱,使用Thread類的getName()方法,聲明并定義一個包含main()方法的類,在main()方法中使用Thread類的如下構(gòu)造方法:
Thread(String name);//參數(shù)name是線程的名稱/
創(chuàng)建兩個名稱分別為“First”和“Second”線程并啟動。
程序代碼:
Public class ThreadTest
{
public static void main(String args[])
{
new SimpleThread(“First”).start();
new SimpleThread(“Second”).start();
}
Class SimpleThread extends Thread
{
Public SimpleThread(String str)
{
Super(str);
}
Public void run()
{
For(int i=0;i<5;i++)
{
System.out.println(i+” “+getName());
Try{
Sleep((int)(Math.random()*1000));
} Catch (InterruptedException e){}
}
System.out.println(“DONE!”+getName());
}
}
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |