執行緒如何獲取另外主動退出的執行緒的傳出指標

2021-07-31 14:26:01 字數 1254 閱讀 3151

1    執行緒退出函式

#include

void pthread_exit(void *value_ptr);

2    通過執行緒id等待指定執行緒退出的執行緒函式。

#include

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

3    獲取執行緒自身的執行緒id

#include

pthread_t pthread_self(void);

下面直接附上**。

執行緒2等待執行緒1退出。並獲取 pthread_exit傳過來的指標

#include #include #include #include #include //主動關閉其他執行緒。

//獲取指定執行緒的退出狀態

static void * proc_func_exit(void *);

static void * proc_func_join(void *);

int main()

ret = pthread_create(&th2,null,proc_func_join,&th1);

if(0 != ret)

while(1)

return 0;

}static void * proc_func_exit(void *parg)

pth_id = pthread_self();

printf("\n*** pthread_id = %d****",pth_id);

snprintf(str,100,"i am exit! pthread_id = %d",pth_id );

//執行緒退出 pthread_exit

Linux下如何安全退出執行緒

最近發現以前工作中寫的 有個比較嚴重的bug,在這裡做一下筆記,並做適當擴充套件,防止以後出現類似的問題。有兩種方法可以設定執行緒為分離執行緒,分別是建立時設定執行緒屬性和呼叫pthread detach.下面分別來介紹這兩種方法。建立執行緒時,可以通過pthread create的第二個引數傳遞執...

執行緒的建立與退出

執行緒由兩部分構成 執行緒核心物件 作業系統用它來對執行緒實施管理。核心物件也是系統用來存放執行緒統計資訊的地方。執行緒堆疊 它用於維護執行緒在執行 時需要的所有函式引數和區域性變數。我們必需要知道乙個事實 程序 windows 中 是不能被排程的。通常所說的排程,都是對執行緒而言的。程序僅僅是執行...

boost asio io執行緒退出的問題

這兩天在review客戶端networkclient的 因為之前遇到了 斷開第一次鏈結後,再想鏈結就再也鏈結不上的問題。最後查到因為我的io service沒有構造出乙個 work,boost io serivice 需要有個io service work來keep住,如果沒有work,在一次啟動的...