功能:建立乙個新的執行緒
原型: int
pthread_create
(pthread_t *thread,
const pthread_attr_t *attr,
void
*(start_routine)
(void*)
,void
* arg)
;引數:
thread:返回執行緒id
attr:設定執行緒的屬性,attr為null表示使用預設屬性
arg:傳給執行緒啟動函式的引數
返回值:成功返回0,失敗返回錯誤碼
錯誤檢查:
讓我們寫乙個**來用一下這個執行緒:
#include
#include
#include
#include
#include
void
*rout
(void
*arg)
}int
main()
int i;
for(;;
)}
如果需要只終止某個執行緒而不終止整個程序,可以有三種方法:
從執行緒函式return。這種方法對主線程不適用,從main函式return相當於呼叫exit。
執行緒可以呼叫pthread_ exit終止自己
乙個執行緒可以呼叫pthread_ cancel終止同一程序中的另乙個執行緒
功能:執行緒終止
原型 void
pthread_exit
(void
*value_ptr)
; 引數
value_ptr:value_ptr不要指向乙個區域性變數。
返回值:無返回值,跟程序一樣,執行緒結束的時候無法返回到它的呼叫者(自身
功能:等待執行緒結束
原型
intpthread_join
(pthread_t thread,
void
**value_ptr)
; 引數
thread:執行緒id
value_ptr:它指向乙個指標,後者指向執行緒的返回值
返回值:
成功返回0;
失敗返回錯誤碼
呼叫該函式的執行緒將掛起等待,直到id為thread的執行緒終止。thread執行緒以不同的方法終止,通過pthread_join得到的終 止狀態是不同的,總結如下:
int
pthread_detach
(pthread_t thread)
;
可以是執行緒組內其他執行緒對目標執行緒進行分離,也可以是執行緒自己分離:
pthread_detach(pthread_self());
joinable和分離是衝突的,乙個執行緒不能既是joinable又是分離的。
執行緒終止 等待 分離
執行緒終止有三種方式,包括 1.從執行緒函式return 對主線程不可使用 從main函式return相當於呼叫exit。2.執行緒可以呼叫pthread exit終止自己。3.乙個執行緒可以呼叫pthread cancel終止同一程序中的另外乙個執行緒。我們來認識幾個函式 pthread exit...
執行緒終止 等待 分離的方式講解
執行緒終止有三種方式,包括 1.從執行緒函式return 對主線程不可使用 從main函式return相當於呼叫exit。2.執行緒可以呼叫pthread exit終止自己。3.乙個執行緒可以呼叫pthread cancel終止同一程序中的另外乙個執行緒。我們來認識幾個函式 pthread exit...
Linux程序控制(建立 等待 終止)
一 linux程序建立 1.1 fork函式 在linux中fork函式是乙個非常重要的函式,它從已存在程序中建立了乙個新程序。新程序為子程序,而原程序為父程序 include pid t fork void 返回值 自程序中返回0,父程序返回子程序id,出錯返回 1 程序呼叫fork,當控制轉移到...