執行緒與程序對比分析

2021-09-25 01:43:31 字數 1068 閱讀 2985

0、目錄

一、執行緒介紹

二、執行緒生命週期

三、程序介紹

四、程序與執行緒的對比

一、執行緒介紹

二、執行緒生命週期

首先看整個流程圖:

具體:1、新建狀態:此時是thread t = new thread()之後的乙個狀態,這裡僅僅建立了乙個thread類的物件。

2、就緒狀態:執行緒物件建立之後,呼叫t.start()方法,執行緒進入就緒狀態,等待獲取cpu的使用權,因為在同乙個時間裡cpu只能執行某乙個執行緒。注意,start()方法之後並沒有立即執行,沒有立即進入執行狀態。

3、執行狀態:執行緒進入就緒狀態後,並不是立即進入執行狀態,要經過系統處理,獲取到cpu的使用權後才能進入到執行狀態。執行緒進入執行狀態後,並不能一直處於執行狀態,當使用完系統分配的時間之後,系統就會失去cpu的使用權,進入就緒狀態,再次等待獲取cpu資源。

4、阻塞狀態,由於io阻塞、呼叫sleep(),wait(),等待同步鎖等原因,執行緒進入阻塞狀態,結束阻塞狀態後直接進入就緒狀態而非執行狀態。

4、死亡狀態:執行緒正常執行完成,或出現異常exception,或出現錯誤error,或呼叫stop()方法等後會進入死亡狀態。

三、程序介紹

四、程序與執行緒的對比

io對比分析

1 同步阻塞io 使用者執行緒通過系統呼叫read發起io讀操作,由使用者空間轉到核心空間。核心等到資料報到達後,然後將接收的資料拷貝到使用者空間,完成read操作。使用者執行緒使用同步阻塞io模型的偽 描述為 2同步非阻塞io 使用者執行緒系統系統呼叫read 後直接返回,然後通過不斷輪訓的方式,...

FMF與UF的對比分析

其實我不願意把fmf和uf對比,因為自卑。1 從群眾基礎上來看,uf具有絕對的優勢。由於uf是老牌的分形創作軟體了,已經發展了這麼多年,它具有深厚的群眾基礎,非常多的分形藝術家都是在圍繞著它轉,寫了很多的演算法並創作出了大量的作品。fmf剛剛出道,還沒有為大家所認識和了解,基本上都是因為看了我的作品...

開源License對比分析

bsd開源協議 original bsd license freebsd license original bsd license bsd開源協議是乙個給於使用者很大自由的協議。基本上使用者可以 為所欲為 可以自由的使用,修改源 也可以將修改後的 作為開源或者專有軟體再發布。但 為所欲為 的前提當你...