浅析Linux中的线程局部存储( 五 )

int pthread_key_delete (pthread_key_t key);

// Returns 0 on success or a positive error number on error

int pthread_setspecific (pthread_key_t key const void *value);

// Returns pointer or NULL if no thread-specific data is associated with key

void *pthread_getspecific (pthread_key_t key);

函数pthread_key_create()为线程局部数据创建一个新键 , 并通过key指向新创建的键缓冲区 。 因为所有线程都可以使用返回的新键 , 所以参数key可以是一个全局变量(在C++多线程编程中一般不使用全局变量 , 而是使用单独的类对线程局部数据进行封装 , 每个变量使用一个独立的pthread_key_t) 。 destructor所指向的是一个自定义的函数 , 其格式如下:

void Dest (void *value)

{

推荐阅读