java的多線程機制(文字描述區別)

1.簡述並區分程序、進程和線程三個概念。

程序是爲完成特定任務、用某種語言編寫的一組指令的集合。指一段靜態的代碼。
進程是程序的一次執行過程,是系統進行調度和資源分配的一個獨立單位。

 線程是比進程更小的執行單位。
一個進程在其執行過程中,可以產生多個線程,形成多條執行線索。
每個線程也有它自身的產生、存在和消亡的過程,也是一個動態的概念。
一個線程有它自己的入口和出口,以及一個順序執行的序列
線程不能獨立存在,必須存在於進程中。
線程 — 輕量級的進程

 

 2.線程有哪幾個基本的狀態?Java中線程調度遵循何種原則?

答:線程與進程都是順序執行的指令序列,但線程和進程不同。對於進程來說,子進程與父進程有不同的代碼和數據空間;但是多個線程則共享數據空間,每個線程都有自己的執行堆棧和程序計數器作爲其執行的上下文。線程的基本狀態有新建、就緒、運行、阻塞、死亡。線程調度安照線程的優先級來調度線程的執行,具有高優先級的線程會在較低優先級的線程之前得到執行。同時線程的調度是搶先式的。


 3.實現多線程可以用哪兩種基本方法?將這兩種方法進行比較。

第一種方法是通過實現Runnable接口實現,第二種方法是通過繼承Thread類,

使用Runnable方式可以實現兩條線程交替運行(注:不是絕對的交替),而用Thread無法實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章