執行緒控制函式

2021-06-26 15:32:14 字數 871 閱讀 7994

執行緒共享資源如下:

靜態資料 程序中開啟的檔案描述符 當前工作目錄 使用者i/d

int pthread_create(pthread_t *thread,pthread_attr_t *attr, void *(*start_routine)(void *),void *arg)

函式作用建立乙個執行緒

thread :執行緒識別符號

attr:執行緒屬性設定 一般設定null

start_routine:執行緒函式的起始位址,是乙個指向void的指標 .

arg: 傳遞給start_routine的引數

返回值 成功返回0 出錯返回出錯碼

int pthread_join(pthread_t thread,void **retval);

主線程等待子執行緒退出.

**retval :使用者定義指標,用來儲存執行緒結束時的返回值 .

使用該函式時,主線程會阻塞等待子執行緒的退出。

返回值 成功則返回0 失敗返回出錯碼

void pthread_exit(void *retval);

函式作用終止呼叫執行緒。

retval 執行緒結束時的返回值,這個值靠pthread_join()來獲取

int pthread_cancel(pthread_t thread);

取消執行緒函式,這個函式是不阻塞的。

int pthread_setcancelstate(int _state,int *_oldstate) 

設定函式的取消狀態。

state 可選下面的值

▲pthread_cancel_disable    執行緒不可取消,直到啟用取消狀態

▲ pthread_cancel_enable    執行緒為可取消狀態

執行緒控制 join執行緒

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

執行緒 之 執行緒控制

下面有幾種方法可以很好的控制線程的執行。1.join 執行緒控制 2.後台執行緒 守護執行緒 3.sleep執行緒睡眠 4.yield執行緒讓步 1.join 執行緒控制。thread提供了讓乙個執行緒等待另外乙個執行緒完成的方法 join 方法 意思 當在a程式執行流 執行緒 中呼叫b執行緒的ji...

12 執行緒控制

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