浅析Linux中的线程局部存储( 八 )
四、深入理解线程局部存储机制
1. 深入理解线程局部存储的实现有助于对其API的使用 。 在典型的实现中包含以下数组:
-
一个全局(进程级别)的数组 , 用于存放线程局部存储的键值信息
pthread_key_create()返回的pthread_key_t类型值只是对全局数组的索引 , 该全局数组标记为pthread_keys , 其格式大概如下:
数组的每个元素都是一个包含两个字段的结构 , 第一个字段标记该数组元素是否在用 , 第二个字段用于存放针对此键、线程局部存储变的解构函数的一个副本 , 即destructor函数 。
-
每个线程还包含一个数组 , 存有为每个线程分配的线程特有数据块的指针(通过调用pthread_setspecific()函数来存储的指针 , 即参数中的value)
推荐阅读
- 热血传奇|热血传奇:当年心中的巅峰,随便一件无比骄傲
- 手办|原神:“肝帝”再现!玩家花30天自制胡桃手办,手中的护摩亮了
- edg战队|EDG夺冠可谓是小说中的梦幻剧情,先破RNG再废GEN.G,豪虐DK夺冠
- 亚运会|LOL入选亚运会正赛,你心中的阵容怎么选?
- 孙权|三国杀:背景帝!武将皮肤中的最强客串王,孙十万果然名不虚传
- 夏侯惇|王者荣耀之中的“最强坦克”, 夏侯惇和程咬金你更喜欢谁?
- 穿越火线|轻松上手,赶超雷神:盘点CF中那些神枪中的天之骄子
- 明日之后|消逝的光芒2设计师:明日之后打造了我心目中的人尸大决战
- 老玩家|天龙网游:天龙游戏中的神奇玩法,没有经历过别说自己是老玩家
- 魔兽世界|魔兽世界玩家未解之谜,王者荣耀中的死亡骑士,得到授权了吗?