通用作業系統大多採用多線程的概念,把線程視爲基本執行單位

當前的通用操作系統大多采用多線程的概念,把線程視為基本執行單位,以便進一步提高系統的併發性,並把它視為現代操作系統的一個重要指標。對於多線程程序來說,一個進程中的多個相似工作線程共享資源,分別執行指令,例如,家用的自來水系統,所有的自來水龍頭都連接居民小區的自來水系統,該系統就是一個共享的自來水資源,一個水龍頭某個時刻只能滿足一個用戶需求,3個水龍頭可以同時滿足3個用戶的需求,而它們都是共享居民小區的自來水資源,如圖11-1所示。

通用操作系統大多采用多線程的概念,把線程視為基本執行單位

在這裡打開水龍頭的用戶就相當於計算機中正在執行的任務。通過這個例子,我們可以發現三點:

·線程是屬於進程的,一個進程往往存在多個相似的線程;

·多線程可以改善任務等待執行的時間;

·當多個線程同時使用同一資源的時候,將會產生衝突。

通用操作系統大多采用多線程的概念,把線程視為基本執行單位

圖11-1 多線程示意圖

又例如,在對1~1 000數值進行累加時,傳統的方法將這1 000個數依次累計,如圖11-2(a)所示,如果採用多線程,將累加過程分為10個線程分別計算,各線程累計100個數,最後再加各線程累計結果相加,如圖11-2(b)所示。

通用操作系統大多采用多線程的概念,把線程視為基本執行單位

圖11-2 多線程與傳統單線程示意圖


分享到:


相關文章: