Thread提供了API将数据保存到线程中,就像ASP.NET中每一个Thread都保存了一个Session一样。
通过Thread.GetData和SetData来读取或写入数据。示例代码如下:

Thread.SetData(Thread.GetNamedDataSlot("key"), data);
object data = Thread.GetData(Thread.GetNamedDataSlot("key"));

 

Thread.GetNamedDataSlot("key") 用来获取一个命名数据槽。如果是第一次调用这个方法,将会先创建这个命名槽。

使用上面的方法,每个线程都可以在数据槽中读写数据而不至于造成冲突。也就是说两个不同的线程读取到的内容是它们自己写入的内容。下面相关链接中的第二链接提到了可以释放命名数据槽,实际在使用时,无需释放,也不会造成内存泄露。

 

相关链接

http://msdn.microsoft.com/zh-cn/library/6sby1byh%28v=VS.90%29.aspx
http://hi.baidu.com/lhdisme/blog/item/69772bf841061c0ad9f9fde0.html

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-25
  • 2022-12-23
  • 2021-06-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
  • 2022-01-30
  • 2021-08-24
相关资源
相似解决方案