TLS 先明白这个东西是什么
这个是 线程本地储存, 意思是对同一线程才有效果 (set, get), 不同线程实际上操作的是不同对象你的代码是不同线程, 根本不需要TLS, 你直接用new free就可以

解决方案 »

  1.   

    问题在于:你在线程中TlsSetValue只会影响线程中的那个局部存储,在主线程中(main)中,获取局部存储的值当然还是0,也就是NULL。这是正常的
      

  2.   


    可是我在两个线程当中应该是操作了同一个tlsIndex对应的存储啊,这个应该都同一份指针吧
      

  3.   


    可是我在两个线程当中应该是操作了同一个tlsIndex对应的存储啊,这个应该都同一份指针吧如果是这样的话,还要线程局部存储干什么?线程局部存储的意义就在于,各个线程获取到的数据是不一样的,单独的线程有单独的数据。如果是你说的那样,用普通数据即可,大家共享一份。
      

  4.   


    可是我在两个线程当中应该是操作了同一个tlsIndex对应的存储啊,这个应该都同一份指针吧如果是这样的话,还要线程局部存储干什么?线程局部存储的意义就在于,各个线程获取到的数据是不一样的,单独的线程有单独的数据。如果是你说的那样,用普通数据即可,大家共享一份。大侠不必关心我要用它来做什么。我的问题在于,用Set设置了之后,用Get取不回来了。
      

  5.   

    看了都着急
    TLS thread local storage,线程局部存储每个线程独立的
    在我的银行账户里存100元,从你的帐号里是取不出来的
    你Set Get不是同一个线程,当然取不回来啦