在阅读Android 的IPCThreadState()遇到了TLS的问题。
网上找的基础知识。除了局部数据和全局数据外,线程还可以有自己的局部数据TLS(Thread Local Storage)。
1. 线程可以通过“全局”的键值去访问某线程私有变量。
2. 键通过pthread_key_create来创建。使用 pthread_key_delete去删除,使用 pthread_setspecific去“赋值”(键与局部存储的绑定),使用pthread_getspecific去获取变量值。
函数原型如下:
#include <pthread.h>
int pthread_key_create(pthread_key_t *key, void (*destructor) (void *));
int pthread_key_delete(pthread_key_t key);
int pthread_setspecific(pthread_key_t key, const void *value);
void *pthread_getspecific(pthread_key_t key);
进一步的知识,可以参考:
http://blog.csdn.net/apkapkapk/article/details/6143419
联系客服