執行緒基礎 生命週期

2021-10-01 07:47:24 字數 1899 閱讀 9168

二 執行緒匯合/分離

增加鏈結選項: g++ -lpthread 或者 g++ -pthread (根據編譯器版本而定)

#include 

using namespace std;

extern "c"

/*說明兩個函式

pthread_self ,獲取當前執行緒id

pthread_equal,比較兩個執行緒id是否相等(因為有的平台pthread_t 型別可能是結構體

所以單獨封裝了乙個比較函式

*/void

printids

(char const

* host)

void

*thread_func

(void

*arg)

int main

(void

)

#include 

using namespace std;

extern "c"

static int s_val1 =

100;

static int s_val2 =99;

void

printids

(char const

* host)

void

*thread_func_return

(void

*arg)

void

*thread_func_pexit

(void

*arg)

int main

(void

)

fool執行緒結束,bar執行緒繼續

#include 

using namespace std;

extern "c"

void

*fool

(void*)

}void

*bar

(void*)

}int main

(void

)return0;

}

linux exit函式會終止所有與程序相關的執行緒

執行緒等待指定的執行緒退出,釋放執行緒資源,並獲取執行緒退出指標;

#include 

using namespace std;

extern "c"

static int fool_ret =99;

void

*fool

(void

*arg)

int main

(void

)return0;

}

設定為分離狀態的執行緒,執行緒結束時自動釋放資源,無須使用pthread_join

#include 

using namespace std;

extern "c"

static int fool_ret =99;

void

*fool

(void

*arg)

int main

(void

)

結果是:pthread_join函式返回失敗

#include 

using namespace std;

extern "c"

static int fool_ret =99;

void

*fool

(void

*arg)

return

null;}

int main

(void

)else

while(1

)return0;

}

執行緒生命週期

今天看到一段這樣的 handle hthread createthread null,0,add,a,0,null hmutext createmutex null,false,l huchiti closehandle hthread 簡單的說,關閉了執行緒控制代碼 關閉了執行緒,其兩者的生命週期...

執行緒生命週期

本章目標 了解執行緒的生命週期 了解執行緒的停止操作 執行緒的生命週期 注意大部分的執行緒生命週期的方法基本上都已經學過了,那麼在這裡有以下三個新方法 suspend 方法 暫時掛起執行緒 resume 方法 恢復掛起的執行緒 stop 方法 停止執行緒 但是對於執行緒中suspend resume...

執行緒生命週期

執行緒的生命週期分為五種狀態 新建狀態 就緒狀態 執行狀態 阻塞狀態 死亡狀態 剛new出來的執行緒物件。新建狀態呼叫start 方法就進入就緒狀態。就緒狀態的執行緒又叫做可執行狀態,表示當前執行緒具有搶奪cpu時間片的權利 cpu時間片就是執行權 當乙個執行緒搶奪到cpu時間片之後就開始執行run...