标签:style blog c ext http color
TLS(Thread Local Storage) 线程局部存储
所有的线程都共享着进程的虚拟地址~ 局部变量为每个线程所独立共享的,静态变量和全局变量是进程中所有线程一起共享的~ TLS可以为线程提供一个唯一的数据用一个全局的索引~每个线程 有自己的副本~各个线程互不影响~其实所保存的数据就是线程关联的~
先看个图:
如图可见每个线程有自己独立的TLS表格,相当于一个数组,数组里保存着void *类型的数据~ 表格的大小TLS_MINIMUM_AVAILABLE 定义的~ 微软定义在系统中最小不得少于64,最大每个进程1088项
线程的TLS数据其实保存在线程的TEB中 偏移地址为0xe10
使用TLS涉及到四个函数
标签:style blog c ext http color
原文地址:http://blog.csdn.net/zpxili/article/details/26409077