pthread_create函数

本文详细介绍了pthread_create函数的使用方法及参数说明,包括线程创建的过程、线程属性设置、线程函数的定义等核心内容,并解释了常见错误及其含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数原型:int pthread_create(pthread_t *tid, const pthread_attr_t *tattr, void*(*start_routine)(void *), void *arg);


功能:创建一个新的线程,并将线程加入当前进程


头文件:#include <pthread.h>

pthread非linux系统的默认库,需手动链接-线程库 -lpthread


参数:

tid:指向线程标识符的指针

tattr:设置线程属性,可由pthread_attr_init()函数创建默认属性对象

start_routine:线程运行函数的起始地址,注意start_routine的返回值地址必须无效

arg:运行函数的参数,arg首选动态从堆上分配内存(进程,这样资源可以由程序控制回收,delete), 

从栈上(线程)分配内存可能导致地址无效或在线程终止时地址被重新分配

线程函数有多个参数的情况:这种情况就必须申明一个结构体来包含所有的参数,然后在传入线程函数


返回值:

pthread_create() 在调用成功完成之后返回零。其他任何返回值都表示出现了错误。如果
检测到以下任一情况,pthread_create() 将失败并返回相应的值。

EAGAIN
描述: 超出了系统限制,如创建的线程太多。
EINVAL
描述: tattr 的值无效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值