Linux C 中的 ThreadLocal
现在在看Linux开发的书,接触到了多线程开发这一块,惊奇的发现用C写多线程程序,也有线程
内部变量的概念呢,甚至调用的接口和Java中的ThreadLocal非常像。
extern int pthread_key_create ((pthread_key_t *__key, void (*__destr_function) (void *)));
先使用该方法创建一个线程内的Key,且绑定一个函数在线程结束时回收Key对于的空间
extern int pthread_setspecific __P ((pthread_key_t __key,__const void *__pointer));
将线程数据和一个键绑定在一起
extern void *pthread_getspecific __P ((pthread_key_t __key));
获得线程数据
pthread_key_delete
删除Key及其对应的线程数据

浙公网安备 33010602011771号