函数原型:int pthread_setspecific(pthread_key_t key, const void *value);
功能:使用pthread_setspecific可以为指定线程特定数据键设置线程特定绑定
头文件:#include <pthread.h>
由于pthread库非linux默认库,所以需要手动链接 -lpthread
形参:
key:需要关联的键
value:指向需要关联的数据
返回值:
成功返回0.其他任何返回值都表示出了错误。如果出现以下任一情况,pthread_setspecifi将失败并返回相应的值
ENOMEM:虚拟内存不足
EINVAL:key无效
注意:value必须是动态内存分配,否则在其他函数使用getsetpecific时会出现错误。同时记得在destrucotr中释放value指向的内存,防止内存泄露
函数原型:void *pthread_getspecific(pthread_key_t key);
功能:使用pthread_getspecific获取调用线程的键绑定,并将该绑定存储在value指向的位置中
头文件:#include <pthread.h>
由于pthread库非linux默认库,所以需要手动链接 -lpthread
形参:
key:需要获取数据的键
返回值:
pthread_getsepecfic不返回任何错误