進程與線程

進程是程序的一次動態執行過程,它經歷了從代碼加載、執行到執行完畢的一個
完整過程,這個過程也是進程本身從產生、發展到最終消亡的過程。多進程操作系統
能同時運行多個進程(程序),由於CPU具備分時機制,所以每個進程都能循環獲得
自己的CPU時間片。由於CPU執行速度非常快,使得所有程序好象是在“同時”運
行一樣。
線程是比進程更小的執行單位,線程是進程內部單一的一個順序控制流。所謂多
線程是指一個進程在執行過程中可以產生多個線程,這些線程可以同時存在、同時運
行,形成多條執行線索。一個進程可能包含了多個同時執行的線程。
多線程是實現併發機制的一種有效手段。進程和線程一樣,都是實現併發的一個
基本單位。線程和進程的主要差別體現在以下兩個方面:
(1)、同樣作爲基本的執行單元,線程是劃分得比進程更小的執行單位。
(2)、每個進程都有一段專用的內存區域。與此相反,線程卻共享內存單元(包
括代碼和數據),通過共享的內存單元來實現數據交換、實時通信與必要
的同步操作。
多線程的應用範圍很廣。在一般情況下,程序的某些部分同特定的事件或資源聯
系在一起,同時又不想爲它而暫停程序其它部分的執行,這種情況下,就可以考慮創
建一個線程,令它與那個事件或資源關聯到一起,並讓它獨立於主程序運行。通過使
用線程,可以避免用戶在運行程序和得到結果之間的停頓,還可以讓一些任務(如打
印任務)在後臺運行,而用戶則在前臺繼續完成一些其它的工作。總之,利用多線程
技術,可以使編程人員方便地開發出能同時處理多個任務的功能強大的應用程序。

摘自Java基礎教程第291頁!

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