linux 執行緒學習

2021-07-24 03:25:38 字數 574 閱讀 7028

一.執行緒建立

pthread_create(tid,null,fun,void*arg) 正常返回0.

void * fun(void*arg);

二.執行緒終止

任意執行緒呼叫了exit,_exit ,_exit.那麼整個程序就會終止。

單個執行緒退出:1.執行緒函式中 return或pthread_exit, 2.被其他 執行緒取消 呼叫pthread_concel(pid)

三.主線程等待執行緒結束

pthread_join(tid,null); 正常返回0

void pthread_cleanup_push(fun1,void*arg); 加入執行緒清理函式

void pthread_cleanup_pop(int execute); 呼叫

例如:void fun1(void *arg){}

void* fun(void*arg)

五:分離執行緒:即執行緒一結束,終止狀態等資源就被立即收回,主線程就不能呼叫pthread_join來等待執行緒結束狀態。

pthread_detach(tid)

六.對於乙個執行緒寫,其他執行緒讀的變數要加鎖。

linux執行緒學習(4)

1.條件變數 提供執行緒之間的一種通知機制,當某一條件滿足時,執行緒a可以通知阻塞在條件變數上的執行緒b,b所期望的條件已經滿足,可以解除在條件變數上的阻塞操作,繼續做其他事情。我們需要這種機制,當互斥量被鎖住以後發現當前執行緒還是無法完成自己的操作,那麼它應該釋放互斥量,讓其他執行緒工作。1 可以...

Linux應用 執行緒學習

執行緒相關函式 pthread mutex t g tmutex pthread mutex initializer pthread cond t g tconvar pthread cond initializer pthread t id 1,id 2 pid t pid 注意不要產生死鎖 pt...

學習linux的多執行緒

xthread.h ifndef x thread h define x thread h include extern unsigned int xsleep unsigned int imillis class xthread endif xthread.cpp include void xth...