轉載自:
http://blog.csdn.net/pc_fly/archive/2008/04/21/2311723.aspx
將線程的私有數據(局部存儲的數據)共享,以供本進程中的其它線程使用。
l 適用情形:
線程局部存儲適用于多線程共享數據,而又不需要同步的情形。(線程同步的開支比較大。)
l 原理
在每個線程中有一個存儲區域,該存儲區域有64個slot(數據槽)。可以通過該slot的索引值(一個DWORD數值),獲取指定的slot。每個slot可以設置,也可以取值。Slot中的數據是本線程中的私有數據。
l 步驟
2. 設置。
TlsSetValue,為指定slot設置值,一個指針,指向本線程中的私有數據區。
3. 取值。
TlsGetValue,從指定slot中取值,一個指針,指向某個線程中的私有數據。
4. 釋放。
TlsFree,釋放某個slot,使其可以被其它線程使用。