关于CThreadSlotData中的一点问题!

有时我感觉真的好迷茫 2008-04-30 12:18:53
我想知道CThreadSlotData中的
void ::SetValue(int nSlot, void* pValue)
{
// 通过TLS索引得到我们为线程安排的私有存储空间
CThreadData* pData = (CThreadData*)::TlsGetValue(m_tlsIndex);
.......
我就是这里不太明白,Setvalue这个函数怎么通过TLS索引机可以得到我想要设置的线程的数据结构的指针,我就想CThreadSlotData中的m_list链表中管理着很多的CThreadData结构,它就怎么能通过 TlsGetValue(m_tlsIndex)一下子就能实现要找到线程!我很困惑啊,能帮我一下吗!看来今天了也不行啊?这个谜团就是解不开啊!再者就是槽号问题:一次只能用AllocSlot()分配一个槽号给一个线程,当其他线程分配时,那这个槽号它就不能用了吗?
要是能用,它这样才能用这个槽号设置数据呢? 问题有点长,见谅!在下先谢谢了!
...全文
68 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
testcase 2008-05-01
  • 打赏
  • 举报
回复
jf
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
有点难度哦

15,447

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧