您当前位置: 首页 » 未分类 » 使用Tls比使用线程内“全局变量”好在哪

使用Tls比使用线程内“全局变量”好在哪

2013-05-28 |

有某种数据类型需要满足如下需求:

1,单一线程内部使用

2,生命周期与线程一致

3,便于管理

一般的做法如下:

unsigned int ThreadMain(LPVOID p)
{
    unsigned int g_ThreadVar = 0;    //这个作为线程自身的共享变量
    ...
    return 0;
}

这样做的坏处,主要是在代码里面可维护性和可管理性变差了。
所以就干脆采取tls来进行管理

unsigned int ThreadMain(LPVOID p)
{
    unsigned int* var1 = new unsigned int;
    tlsset(id, var)
    ...
    return 0;
}
分类:

未分类

| 标签: