中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

HTL_thread_key_create

创建线程私有变量。

接口定义

int HTL_thread_key_create(void (*destructor)(void *value), HTL_thread_key_t *thread_key);

描述

HTL_thread_key_create()用于创建一个类型为HTL_thread_key_t的线程私有变量thread_key。尽管不同线程可使用相同线程私有变量thread_key,但通过函数HTL_thread_setspecific()设置thread_key的值在不同线程是不同的。

创建线程私有变量时,使用NULL值关联新的线程私有变量thread_key,并与其所有现有线程中的线程私有变量thread_key相关联。当创建新的线程时,将使用NULL值关联所有定义的线程私有变量thread_key。

析构函数destructor()是可选的,注册给线程私有变量thread_key。当线程退出时,如果线程私有变量非NULL,此函数会自动被调用。

创建的线程私有变量thread_key在使用后必须由函数HTL_thread_key_delete()释放。

参数

参数名

类型

描述

输入/输出

destructor

void (*destructor)(void *value)

析构函数。

输入

thread_key

HTL_thread_key_t *

线程私有变量句柄地址。

输出

返回值

  • HTL_THREAD_SUCCESS:成功。
  • 其他:失败。见错误码定义。

示例

    int ret;
    static HTL_thread_key_t tls[NUM_TLS];
    ret = HTL_thread_key_create(NULL, &tls[i]);