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,在一次啟動的...