线程函数接口和属性

一、线程函数接口

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. 分离:线程结束后自动回收线程空间

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

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

相关推荐
小白学大数据9 分钟前
超简单:用 Python 让 Excel 飞起来:用 openpyxl 把重复报表整理交给脚本
开发语言·数据库·python·excel
旧梦952720 分钟前
Java SortedMap 接口详解:从入门到实战
java·开发语言
莫陌尛.23 分钟前
Java_this构造方法
java·开发语言
Persistent的粽子!1 小时前
C++:类与对象(二)
开发语言·c++
Dreams°1231 小时前
【Java后端+Vue前后端分离:内网正常、公网访问异常|5个高频经典踩坑完整复盘】
java·开发语言·vue.js
思麟呀1 小时前
嵌入式入门(一)宏观生态到首次烧录
c语言·嵌入式硬件
小雪崩1 小时前
嵌入式学习 day39:TCP并发服务器模型
linux·服务器·c语言·网络·学习·tcp/ip
.YM.Z2 小时前
C++ STL 容器深度剖析:vector 与 list 的模拟实现及对比
开发语言·c++·vector·list
lsylalalala2 小时前
多线程(4)
java·开发语言·多线程
小白不想画工图2 小时前
银河麒麟V10系统安装QT5.12
linux·开发语言·qt·银河麒麟