线程编程与 Java 线程详解
1. 线程特定数据与线程局部存储
1.1 线程特定数据
线程特定数据(Thread-Specific Data)是一种机制,允许每个线程拥有自己独立的数据副本。在使用线程特定数据时,需要创建一个键(key),可以使用 pthread_key_create() 函数来创建,该函数的原型如下:
int pthread_key_create(pthread_key_t *key, void (*destructor)(void*));
其中, key 是指向 pthread_key_t 类型的指针,用于存储创建的键; destructor 是一个析构函数指针,当线程终止时,该函数会被调用以释放与该键关联的数据。如果不需要释放操作,可指定为 NULL 。可以使用 pthread_key_delete() 函数删除一个键:
int pthread_key_delete(pthread_key_t key);
创建键后,其关联的数据会初始化为 NULL 。每个线程可以通过调用 pthread_setspecific() 函数将新的数据值与该键关联:
in
订阅专栏 解锁全文
70



被折叠的 条评论
为什么被折叠?



