1.程序是應(yīng)用程序執(zhí)行的藍(lán)本。進(jìn)程是程序的一次動(dòng)態(tài)的執(zhí)行過(guò)程。進(jìn)程由(操作系統(tǒng))管理。進(jìn)程由(進(jìn)程)控制。
2.JAVA中的線(xiàn)程模型由(CPU)(代碼)和(數(shù)據(jù))幾部分組成。
3.JAVA線(xiàn)程的線(xiàn)程體由(run())方法提供。線(xiàn)程在創(chuàng)建后,通過(guò)(start())方法將線(xiàn)程啟動(dòng)。
4.新建的線(xiàn)程缺省具有父線(xiàn)程的優(yōu)先級(jí)。主線(xiàn)程一般具有(普通)優(yōu)先級(jí)。設(shè)置線(xiàn)程優(yōu)先級(jí)的方法是(setPriority())。
5.線(xiàn)程在生命周期中要經(jīng)歷五種狀態(tài),分別是(新建)狀態(tài)、(可運(yùn)行)狀態(tài)、(運(yùn)行)狀態(tài)、(阻塞)狀態(tài)、(死亡)狀態(tài)。
6.JAVA中一個(gè)類(lèi)只有實(shí)現(xiàn)了(serializable)接口,它的對(duì)象才是可串行化的。
7.當(dāng)實(shí)現(xiàn)Runnable 接口時(shí),要實(shí)現(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. ”);
}
}
對(duì)該程序而言,正確結(jié)論是(C )
A. 該程序能夠通過(guò)編譯并打印輸出“A thread test.”
B. 該程序能夠通過(guò)編譯,但運(yùn)行時(shí)將不調(diào)用ThreadTest類(lèi)中的run()方法,因此不產(chǎn)生任何輸出
C. 該程序存在編譯錯(cuò)誤,因?yàn)樵趍ain()方法中不能使用this指針
D. 上訴選項(xiàng)都不正確
9.下列方法可以通過(guò)Thread類(lèi)就可以調(diào)用,而不需要通過(guò)Thread類(lèi)的實(shí)例進(jìn)行調(diào)用的是A
A.sleep() B.start() C.setPriority() D.suspend()
10.Thread類(lèi)提供表示線(xiàn)程優(yōu)先級(jí)的靜態(tài)常量,代表普通優(yōu)先級(jí)的靜態(tài)常量是(C)
A. MAX_PRIORITY B.MIN_PRIORITY C.NORMAL_PRIORITY
D.NORM_PRIORITY
11.下列線(xiàn)程交互的方法中,不提倡使用的方法是(D)
A.stop() B.suspend()和resume() C.wait()和notify() D.A和B
12.JAVA線(xiàn)程在創(chuàng)建后調(diào)用start()方法,將使線(xiàn)程進(jìn)入(B)。
A.運(yùn)行狀態(tài) B.可運(yùn)行狀態(tài) C。等待阻塞狀態(tài) D.A和B
13.利用繼承Thread 類(lèi)的方法創(chuàng)建兩個(gè)線(xiàn)程,這兩個(gè)線(xiàn)程執(zhí)行的操作相同,都是以隨機(jī)的時(shí)間間隔打印5個(gè)自己的名稱(chēng)。兩個(gè)線(xiàn)程的名稱(chēng)分別為“First”和“Second”.運(yùn)行結(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.編寫(xiě)Applet,利用實(shí)現(xiàn)Runnable接口的方法創(chuàng)建一個(gè)顯示當(dāng)前時(shí)間的線(xiàn)程,如圖:
Applet
10:40:32
13編程提示:
創(chuàng)建一個(gè)Thread類(lèi)的子類(lèi)。在該類(lèi)的run()方法中利用一個(gè)循環(huán)打印自己的名稱(chēng)。每打印一個(gè)名稱(chēng)調(diào)用sleep()方法隨機(jī)休眠一段時(shí)間。獲取線(xiàn)程的名稱(chēng),使用Thread類(lèi)的getName()方法,聲明并定義一個(gè)包含main()方法的類(lèi),在main()方法中使用Thread類(lèi)的如下構(gòu)造方法:
Thread(String name);//參數(shù)name是線(xiàn)程的名稱(chēng)/
創(chuàng)建兩個(gè)名稱(chēng)分別為“First”和“Second”線(xiàn)程并啟動(dòng)。
程序代碼:
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)蒙古 |