pthread(一) —— pthread_create & pthread_join

pthread_create


pthread_create是类Unix操作系统(UnixLinuxMacOS X等)的创建线程的函数。头文件 :#include<pthread.h>

函数定义:intpthread_create(pthread_t *tidp,const pthread_attr_t *attr,(void*)(*start_rtn)(void*),void *arg);

编译链接参数:-pthread

返回值:0创建成功;创建失败返回错误编号,同时*thread内容未定义

参数:

第一个参数为指向线程标识符的指针。

第二个参数用来设置线程属性。

第三个参数是线程运行函数的起始地址。

最后一个参数是运行函数的参数。



pthread_join

函数pthread_join用来等待一个线程的结束。头文件: #include<pthread.h>

函数定义: intpthread_join(pthread_t thread, void **retval);

描述:pthread_join()函数,以阻塞的方式等待thread指定的线程结束。当函数返回时,被等待线程的资源被收回。如果线程已经结束,那么该函数会立即返回。并且thread指定的线程必须是joinable的。

参数 :thread:线程标识符,即线程ID,标识唯一线程。retval:用户定义的指针,用来存储被等待线程的返回值。

返回值 : 0代表成功。失败,返回的则是错误号。


注:

还有一些线程,更喜欢自己来清理退出的状态,他们也不愿意主线程调用pthread_join来等待他们。我们将这一类线程的属性称为detached。如果我们在调用pthread_create()函数的时候将属性设置为NULL,则表明我们希望所创建的线程采用默认的属性,也就是joinable

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值