進程與線程(1)

在我們學習之前,先來了解一下:
進程與線程是操作系統任務調度時的單位。應用程序都是運行在進程或者線程中。通過使用進程或線程,應用程序可以實現併發控制等功能。
【歸納】
操作系統最小的調度單位是線程
資源最小的單位是進程

(1)操作系統的調度概念
操作系統中同時運行着的多個應用程序在有限的CPU資源中如何高效運行,併爲其分配系統資源包括硬件資源和軟件資源等,這就是操作系統的調度。
(2)進程與線程
進程與線程是操作系統的兩種調度單位。
a、進程:指的是正在操作系統中運行着的一個應用程序,是應用程序的一次動態執行。進程由進程控制塊、程序段、數據段3部分組成。一個進程可以包含若干線程,使用線程可以實現應用程序同時做幾件事並且互相不干擾。進程是操作系統進行資源分配的單位。
b、線程:是系統分配處理器時間資源的基本單元。是進程中的一個實體,是被系統獨立調度和分派的基本單位,線程自己不擁有全部的資源。一個線程可以創建和撤銷另一個線程,同一進程的多個線程之間可以併發執行。
對於操作系統而言,其調度單元是線程。一個進程至少包括一個線程,通常將該線程稱爲主線程。

(3)進程與線程關係
一個線程可以創建和撤銷另一個線程;
同一個進程中的多個線程之間可以併發執行;
相對進程而言,線程是一個更加接近於執行體的概念,它可以與同進程中的其他線程共享數據,但擁有自己的棧空間,擁有獨立的執行序列。

(4)進程與線程的區別
子進程與父進程有不同的代碼和數據空間,而多個線程則共享進程的數據空間,每個線程有自己的執行堆棧和程序計數器爲其執行上下文。多線程主要爲了利用CPU時間,同時在一個進程內運行多個任務。
a、一個程序至少有一個進程,一個進程至少有一個線程
b、進程在執行過程中擁有獨立的內存單元,而多個線程共享進程所擁有的內存。
c、進程可以獨立運行,但線程不能獨立執行,必須依存在進程中,由使用該進程的應用程序提供多個線程執行控制。

友情鏈接:http://www.cnblogs.com/way_testlife/archive/2011/04/16/2018312.html

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