執行緒程式設計(一)

weixin_33806914發表於2016-05-04

1.執行緒建立和退出
建立執行緒:pthread_create
退出執行緒:

  • 執行緒執行完畢
  • pthread_exit
    不可使用exit,會導致主程式退出,從而使所有執行緒退出。
    執行緒退出後,資源不一定能夠得到立即釋放,可以呼叫阻塞函式pthread_join,將當前執行緒掛起,等待執行緒的結束。呼叫它的函式將一直等待到被等待的執行緒結束為止,當函式返回時,被等待執行緒的資源就被收回。

函式說明:
所需標頭檔案#include <pthread.h>

函式原型
int pthread_create ((pthread_t *thread,
thread_attr_t *attr,
void (start_routine)(void *),
void *arg))

函式傳入值
thread:執行緒識別符號attr:執行緒屬性設
函式返回值
start_routine:執行緒函式的起始地址arg:傳遞給start_routine的引數成功:0出錯:-1
pthread_exit函式的語法要點

函式原型void pthread_exit(void *retval)函式傳入值Retval:pthread_exit()呼叫者執行緒的返回值,可由其他函式如pthread_join 來檢索獲取

pthread_join函式的語法要點
所需標頭檔案#include 函式原型int pthread_join ((pthread_t th, void **thread_return))

函式傳入值
th:等待執行緒的識別符號thread_return:使用者定義的指標,用來儲存被等待執行緒的返回值(不為NULL時)
函式返回值出錯:-1
成功:0

相關文章