国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

linux c之使用pthread_create創(chuàng)建線程pthread_join等待線程和pthread_exit終止線程總結(jié)

2019-11-06 06:25:59
字體:
供稿:網(wǎng)友

1、介紹API

1、pthread_create函數(shù)

函數(shù)簡介pthread_create是UNIX環(huán)境創(chuàng)建線程函數(shù)頭文件

#include<pthread.h>函數(shù)聲明
int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);

返回值若成功則返回0,否則返回出錯編號參數(shù)第一個參數(shù)為指向線程標(biāo)識符的指針,第二個參數(shù)用來設(shè)置線程屬性,第三個參數(shù)是線程運行函數(shù)的起始地址, 最后一個參數(shù)是運行函數(shù)的參數(shù)。另外在編譯時注意加上-lpthread參數(shù),以調(diào)用靜態(tài)鏈接庫。因為pthread并非linux系統(tǒng)的默認(rèn)庫

2、pthread_join函數(shù)

函數(shù)簡介函數(shù)pthread_join用來等待一個線程的結(jié)束。函數(shù)原型為:

extern int pthread_join __P (pthread_t __th, void **__thread_return);

參數(shù):第一個參數(shù)為被等待的線程標(biāo)識符,第二個參數(shù)為一個用戶定義的指針,它可以用來存儲被等待線程的返回值。這個函數(shù)是一個線程阻塞的函數(shù),調(diào)用它的函數(shù)將一直等待到被等待的線程結(jié)束為止,當(dāng)函數(shù)返回時,被等待線程的資源被收回。如果執(zhí)行成功,將返回0,如果失敗則返回一個錯誤號。

3、pthread_exit函數(shù)

函數(shù)原型

void pthread_exit(void* retval);函數(shù)簡介線程通過調(diào)用pthread_exit函數(shù)終止執(zhí)行,就如同進(jìn)程在結(jié)束時調(diào)用exit函數(shù)一樣。這個函數(shù)的作用是,終止調(diào)用它的線程并返回一個指向某個對象的指針。

2、爆圖爆代碼

實現(xiàn)創(chuàng)建2個線程打印數(shù)據(jù)

3、結(jié)果展示

我們知道pthread_t得大小是8

然后pthread_exit是退出線程,看上面紅色的標(biāo)記就知道,線程id只有一個了,然后pthread_join是阻塞的,等待線程結(jié)束,如果不用這個函數(shù),直接ruturn的話,可能看不到打印,讀者可以自己測試下,pthread_create是創(chuàng)建線程的,注意是傳函數(shù)地址,也就是函數(shù)名,不是&函數(shù)名。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 双桥区| 宜都市| 深圳市| 和顺县| 寻甸| 邯郸市| 屏东县| 凤台县| 高州市| 教育| 全椒县| 左权县| 新宁县| 祁门县| 西畴县| 抚州市| 安图县| 成都市| 行唐县| 霍山县| 桓台县| 凤冈县| 林周县| 五华县| 济宁市| 中山市| 福建省| 且末县| 锦屏县| 长岭县| 丰原市| 图片| 马鞍山市| 镇沅| 扎赉特旗| 寻甸| 酉阳| 辉县市| 双流县| 盐城市| 吉安市|