线程函数接口和属性

一、线程函数接口

2、pthread_exit

原型:void pthread_exit(void *retval);

功能:

结束线程任务

参数:

retval:线程结束时的值

返回值:

缺省

3、pthread_join

原型:int pthread_join(pthread_t thread, void **retval);

功能:

阻塞回收线程空间

参数:

thread:线程ID

retval:存放线程结束的状态空间的首地址

返回值:

成功返回0

失败返回非0

阻塞回收线程空间

实现线程的同步

4、pthread_attr_init

原型:int pthread_attr_init(pthread_attr_t *attr);

功能:

线程属性初始化为默认值

参数:

attr:存放线程属性空间首地址

返回值:

成功返回0

失败返回非0

5、 pthread_attr_destroy

原型:int pthread_attr_destroy(pthread_attr_t *attr);

功能:

线程属性销毁

参数:

attr:存放线程属性空间首地址

返回值:

成功返回0

失败返回非0

6、 pthread_attr_setdetachstate

原型:int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);

功能:

设置线程加入/分离属性

参数:

attr:存放线程属性空间首地址

detachstate:线程属性

PTHREAD_CREATE_DETACHED 分离属性

PTHREAD_CREATE_JOINABLE 加入属性

返回值:

成功返回0

失败返回非0

----使用示例

二、线程的属性 :

  1. 加入:线程结束后需要手动回收线程空间(pthread_join)

可以回收线程结束的状态

可以实现线程同步

  1. 分离:线程结束后自动回收线程空间

不需要手动回收空间,线程结束由系统自动回收

可以实现多任务先结束先被回收,后结束后被回收

相关推荐
麦麦麦当劳大王3 小时前
【油猴脚本】Boss直聘 岗位职责复制
开发语言·前端·javascript
starzy19903 小时前
深入理解Scala Map:从实现原理到工程实践
开发语言·后端·scala
只睡四小时4 小时前
Three.js Sub-tick:漏判 60.7%→0
开发语言·javascript·性能优化·ecmascript·游戏开发·three.js·碰撞检测
码农小河664 小时前
基于SSM+JSP的高校专业信息管理系统【附源码+数据库】
java·开发语言·数据库
东鹏特饮6 小时前
系统运维(传统/通用运维)面试题
开发语言·php
今天要早睡_7 小时前
C++01_入门基础复习
开发语言·c++
黑马程序员毕设7 小时前
基于 Java 的餐饮点餐系统设计与应用报告
java·开发语言
1-1=09 小时前
C# 委托与事件
开发语言·c#
Fuyo_11199 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
§ꦿCFོ༉9 小时前
嵌入式八股—C语言入门学习(一)
c语言·编程语言·嵌入式八股文