64,281
社区成员
发帖
与我相关
我的任务
分享
#include <windows.h>
DWORD g_dwTlsIndex = -1;
unsigned TlsProc1(void *unuse)
{
LPVOID lpValue = NULL;
TlsSetValue(g_dwTlsIndex,(PVOID)1234);//2
Sleep(1000);
lpValue = TlsGetValue(g_dwTlsIndex); //5
printf("TlsProc1:%d\n",(DWORD)lpValue);
return 0;
}
unsigned TlsProc2(void *unuse)
{
LPVOID lpValue = NULL;
TlsSetValue(g_dwTlsIndex,(PVOID)4567);//3
lpValue = TlsGetValue(g_dwTlsIndex); //4
printf("TlsProc2:%d\n",(DWORD)lpValue);
return 0;
}
int main(void)
{
g_dwTlsIndex = TlsAlloc(); // 1
_beginthreadex(NULL,0,TlsProc1,NULL,0,NULL);
_beginthreadex(NULL,0,TlsProc2,NULL,0,NULL);
_getch();
}