12 執行緒控制

2021-09-26 09:41:42 字數 1510 閱讀 3241

1.執行緒屬性

2.同步屬性

2.1 互斥量屬性(值得注意的幾個)

pthread_mutexattr_setrobust(…)

pthread_mutex_consistent(…)

pthread_mutexattr_gettype(…)

2.2 讀寫鎖的屬性

2.3 條件變數屬性

pthread_condattr_get/setclock(…)

2.4 屏障屬性

3.重入

4.執行緒特定資料

取消鍵與特定資料的聯絡

int

pthread_key_delete

(pthread_key_t keyp)

;

避免建立鍵時出現衝突的乙個方法(每個執行緒呼叫pthread_once,系統能保證只初始化一次)

static

void

thread_init

(void

)static pthread_once_t init_done = pthread_once_init;

pthread_once

(&init_done, thread_init)

;

關聯鍵和執行緒特定資料
.

.. pthread_set/

getspecific

(key,..

.);

5.取消選項

新增取消點

void

pthread_testcancel

(void

);

預設取消型別為推遲取消,可通過下面的函式修改

int

pthread_setcanceltype

(int type,

int*oldtype)

;

6.執行緒和訊號

等待訊號出現:

int

sigwait

(const sigset_t *restrict set,

int*restrict signop)

;

把訊號傳送給執行緒

int

pthread_kill

(pthread_t thread,

int signo)

;

7.執行緒和fork

要清除鎖狀態:

int

pthread_atfork

(void

(*prepare)

(void),

void

(*parent)

(void),

void

(*child)

(void))

;

程式看不懂…

8.執行緒和io

12 執行緒控制

int pthread attr init pthread attr t attr 初始化執行緒屬性 int pthread attr destroy pthread attr t attr 釋放執行緒屬性空間int pthread attr setdetachstate pthread attr ...

12 流程控制

作用 主要用於判讀語句中,用來判斷 else語句 elif語句 巢狀的if.elif.else構造 if expression1 statement if expression2 statement else statement else statement 使用邏輯運算子and or not if...

執行緒控制 join執行緒

在我們做專案的時候時常會有這樣的一種需求 我們需要執行兩個方法,乙個方法要等另乙個方法執行完才能執行,這樣的狀況放到多執行緒中要怎麼實現呢?今天就來看看多執行緒中的join方法。我們的均方法通常是把乙個大問題分成許多小問題,每個小問題分配乙個執行緒,當所有的小問題都得到處理後,在呼叫主線程來進一步操...