上一篇文章介绍了在调用堆栈级别的保存和读取数据

在大部分时候 我们使用的是同步方法 在调用堆栈和线程级别没有差别, 1对1的

有的时候我们想吧数据保存在线程里面就可以使用以下的代码:

string THREAD_DATASLOT = "data name";
LocalDataStoreSlot namedDataSlot
= Thread.GetNamedDataSlot(THREAD_DATASLOT);
if (namedDataSlot == null)
{
Thread.AllocateNamedDataSlot(THREAD_DATASLOT);
namedDataSlot
= Thread.GetNamedDataSlot(THREAD_DATASLOT);
}
Thread.SetData(namedDataSlot, data);

BTW:如果使用了线程池 ,例如asp.net默认就启用...这个线程不会被销毁,那么下个方法进来的时候可能使用了同样的线程..那么这个数据就还在.....

相关文章:

  • 2021-12-20
  • 2021-10-30
  • 2021-10-26
  • 2021-12-26
  • 2021-11-06
  • 2021-09-10
  • 2021-11-27
  • 2021-12-02
猜你喜欢
  • 2022-12-23
  • 2021-12-10
  • 2021-08-24
  • 2021-08-01
  • 2021-06-24
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案