作業系統基礎知識 四 執行緒

2021-08-22 06:00:26 字數 2321 閱讀 1008

作業系統基礎知識【一】 - csdn部落格

作業系統基礎知識【二】-虛擬記憶體 - csdn部落格

作業系統基礎知識【三】-程序 - csdn部落格

作業系統基礎知識【四】-執行緒 - csdn部落格

作業系統基礎知識【五】-死鎖 - csdn部落格

作業系統基礎知識【六】-檔案系統 - csdn部落格

執行緒

執行緒是程序當中的一條執行流程

執行緒特點

缺點: 乙個執行緒崩潰,所屬程序的所有執行緒崩潰

執行緒與程序的比較
執行緒的建立時間和終止時間比程序短

同一程序內的執行緒切換時間比程序短;

由於同一程序的各執行緒間共享記憶體和檔案資源.可直接進行不通過核心的通訊;

程序三種實現方式

使用者執行緒和核心執行緒對應關係

使用者執行緒
在使用者空間實現的執行緒機制,它不依賴於作業系統的核心,由一組使用者級的執行緒庫函式來完成執行緒的管理,包括程序的建立、終止、同步和排程等。

使用者執行緒缺點: 

核心執行緒

是指在作業系統的核心當中實現的一種執行緒機制,由作業系統的核心來完成執行緒的建立、終止和管理。 

執行緒的幾種可用狀態

1. 新建( new ):新建立了乙個執行緒物件。

2. 可執行( runnable ):執行緒物件建立後,其他執行緒(比如 main 執行緒)呼叫了該物件 的 start ()方法。該狀態的執行緒位於可執行執行緒池中,等待被執行緒排程選中,獲 取 cpu 的使用權 。

3. 執行( running ):可執行狀態( runnable )的執行緒獲得了 cpu 時間片( timeslice ) ,執行程式**。

4. 阻塞( block ):阻塞狀態是指執行緒因為某種原因放棄了 cpu 使用權,也即讓出了 cpu timeslice ,暫時停止執行。直到執行緒進入可執行( runnable )狀態,才有 機會再次獲得 cpu timeslice 轉到執行( running )狀態。阻塞的情況分三種:

(一). 等待阻塞:執行( running )的執行緒執行 o . wait ()方法, jvm 會把該執行緒放 入等待佇列( waitting queue )中。

(二). 同步阻塞:執行( running )的執行緒在獲取物件的同步鎖時,若該同步鎖 被別的執行緒占用,則 jvm 會把該執行緒放入鎖池( lock pool )中。

(三). 其他阻塞: 執行( running )的執行緒執行 thread . sleep ( long ms )或 t . join ()方法,或者發出了 i / o 請求時, jvm 會把該執行緒置為阻塞狀態。            當 sleep ()狀態超時、 join ()等待執行緒終止或者超時、或者 i / o 處理完畢時,執行緒重新轉入可執行( runnable )狀態。

5. 死亡( dead ):執行緒 run ()、 main () 方法執行結束,或者因異常退出了 run ()方法,則該執行緒結束生命週期。死亡的執行緒不可再次復生。

程序三種狀態間的轉換

乙個程序在執行期間,不斷地從一種狀態轉換到另一種狀態,它可以多次處於就緒狀態和執行狀態,也可以多次處於阻塞狀態。圖3_4描述了程序的三種基本狀態及其轉換。

(1) 就緒→執行

處於就緒狀態的程序,當程序排程程式為之分配了處理機後,該程序便由就緒狀態轉變成執行狀態。

(2) 執行→就緒

處於執行狀態的程序在其執行過程中,因分配給它的乙個時間片已用完而不得不讓出處理機,於是程序從執行狀態轉變成就緒狀態。

(3) 執行→阻塞

正在執行的程序因等待某種事件發生而無法繼續執行時,便從執行狀態變成阻塞狀態。

(4) 阻塞→就緒

處於阻塞狀態的程序,若其等待的事件已經發生,於是程序由阻塞狀態轉變為就緒狀態。

Symbian作業系統結構之四 執行緒

執行緒 執行緒是多工的基礎,允許多個 序列同時執行 在symbian作業系統中,可以同時建立多個執行緒,但是會帶來管理複雜和巨大的系統開銷 在symbian作業系統中,操作執行緒的類是rthread,其物件表示乙個執行緒的控制代碼 rthread的基類是rhandlebase,它封閉了通用控制代碼的...

作業系統基礎知識

最近複習自考的作業系統資料主要分為六部分介紹作業系統知識,分別為 引論 處理器管理 儲存管理 檔案管理 裝置管理和併發程序。作業系統在計算機系統硬體和軟體中起到乙個承上啟下的作用,類似於三層架構中的業務邏輯層 個人之見 最近的博文將會分章節對作業系統知識總結。引論 有關作業系統的基礎知識 什麼是作業...

作業系統 基礎知識

作業系統的定義 作業系統 operating system,os 是指控制和管理整個計算機系統的硬體與軟體資源,合理地組織 排程計算機地工作與資源地分配,進而為使用者和其他軟體提供方便介面與環境的程式集合。作業系統是計算機系統中最基本的系統軟體。2.作業系統的特徵 併發 共享 虛擬 非同步 其中最基...