贴一段代码,线程局部存储举例:













































































注意的地方:
1.分配的索引值应该保存在全局变量中,以方便各线程的访问.实例中是保存在g_tlsUsedTime这个全局变量中.
2.注意类型转换.TlsSetValue这个API函数的原型为
BOOL TlsSetValue(
DWORD dwTlsIndex, // TLS索引
LPVOID lpTlsValue // 要设置的值
)
DWORD dwTlsIndex, // TLS索引
LPVOID lpTlsValue // 要设置的值
)
因此在引用lpTlsValue值后要进行强制转化为LPVOID型.
::TlsSetValue(g_tlsUsedTime,(LPVOID)dwStart);
3.线程函数体中的printf函数中 %-5d 表示 输出数据在域内左对齐 右边补空格