C 多執行緒程式設計的基本概念

2021-10-10 23:28:31 字數 899 閱讀 8489

一、執行緒

1、每個程序都至少包含乙個執行緒(主線程)

2、作業系統分配給cpu時間的最小實體是執行緒,即執行緒是最小執行單元

3、執行緒從屬於程序,多執行緒共享同一程序的記憶體空間,程序結束時,執行緒也被強制退出並清除

4、每個執行緒可以擁有自己的堆疊資源

二、執行緒的狀態

1、新建:新建立了乙個執行緒物件

2、就緒態:執行緒物件建立後,其他執行緒呼叫了該物件的start()方法。該狀態的執行緒位於「可執行執行緒池」中,變得可執行,執行緒能夠執行的條件已經滿足,在等待cpu處理器

3、執行態:執行緒正在cpu中執行

4、阻塞態:阻塞狀態是執行緒因為某種原因(如i/o操作、互斥鎖的釋放、條件變數的改變等)放棄cpu使用權,暫時停止執行。直到執行緒進入就緒狀態,才有機會轉到執行態

5、終止態:執行緒函式執行結束或者被其他執行緒取消後所處的狀態,其占用的作業系統資源沒有被釋放,可以被重新復活。

三、執行緒函式

執行緒建立後要執行的函式,這個函式是我們自定義的,在建立執行緒時把函式作為引數傳入執行緒建立函式,同時也可以傳入執行緒函式所需要的引數。

比如posix執行緒庫:void* threadproc(void* arg);  arg是指向要傳給執行緒的資料。

四、執行緒標識

執行緒建立時,系統會分配乙個唯一的id號作為執行緒標識,它的生命歷程是從執行緒建立時開始,一直到執行緒結束,作業系統自動**該標識。

五、c++多執行緒的開發方式

1、使用posix多執行緒庫的api函式進行開發

多執行緒基本概念

什麼是程式 為了完成某項特定的任務,使用某種語言,編寫一組指令的集合 什麼是程序 是乙個正在進行的程式 什麼是執行緒 在乙個程序中,執行的一套功能流程,稱為執行緒 在乙個程序中,執行的多套功能流程,稱為多執行緒 多執行緒程式的優點 1 降低資源消耗。通過重複利用已建立的執行緒降低執行緒建立和銷毀造成...

多執行緒 基本概念

多執行緒和高併發是身為開發人員高階中一直是繞不開的話題,為此專門學習了下,做下總結,作為自己的備忘錄。1.什麼是執行緒 執行緒是作業系統中能夠進行運算排程的最小單位,是程序中的實際運作單位。執行緒本身有乙個供程式執行時的堆疊,同類的多個 執行緒共享一塊記憶體空間。乙個執行緒的生存週期 新建狀態 就緒...

多執行緒基本概念

執行緒同步的真實意思和字面意思恰好相反。執行緒同步的真實意思,其實是 排隊 幾個執行緒之間要排隊,乙個乙個對共享資源進行操作,而不是同時進行操作。因此,關於執行緒同步,需要牢牢記住的第一點是 執行緒同步就是執行緒排隊。同步就是排隊。執行緒同步的目的就是避免執行緒 同步 執行。這可真是個無聊的繞口令。...