线程私有数据

线程私有数据

创建私有数据之前得先创建一个键,需要创建与该数据相关联的键
#include<pthread.h>
int pthread_key_create(pthread_key_t *keyp, void (*destructor)(void *));
成功--0,出错--返回错误编号
参数;
keyp -- 存储创建的键,可以被任何线程使用,但每个线程把这个键和不同的线程私有数据地址
进行关联。
destructor-- 析构函数释放资源。


释放键的空间,并不是释放私有数据空间
#include<pthread.h>
int pthread_key_delete(pthread_key_t key);
成功--0,出错--返回错误编号


使某个函数只是被调用一次
#include<pthread.h>
pthread_once_t initflag = PTHREAD_ONCE_INIT;
int pthread_once(pthread_once_t *initflag, void(*initfn)(void));
成功--0,出错--返回错误编号


获得线程私有数据的地址
#include<pthread.h>
void *pthread_getspecific(pthread_key_t key);
返回值:线程私有数据值;若是没有值和该键关联,返回NULL


把键和私有数据关联起来。
#include<pthread.h>
int pthread_setspecific(pthread_key_t key,const void *value);
成功--0,出错--返回错误编号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值