pthread_create函数

这篇博客详细介绍了Linux环境下使用pthread_create函数创建线程的原理和步骤,包括函数原型、参数解释、返回值及错误处理。重点强调了start_routine线程函数的参数传递和线程资源管理。通过实例展示了如何正确使用pthread_create创建线程。
摘要由CSDN通过智能技术生成

函数原型: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 的值无效。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值