一.執行緒建立
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...