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


四、深入理解线程局部存储机制

1. 深入理解线程局部存储的实现有助于对其API的使用 。 在典型的实现中包含以下数组:

  • 一个全局(进程级别)的数组 , 用于存放线程局部存储的键值信息

pthread_key_create()返回的pthread_key_t类型值只是对全局数组的索引 , 该全局数组标记为pthread_keys , 其格式大概如下:

数组的每个元素都是一个包含两个字段的结构 , 第一个字段标记该数组元素是否在用 , 第二个字段用于存放针对此键、线程局部存储变的解构函数的一个副本 , 即destructor函数 。