.Net:逻辑线程和线程本地存储?

时间:2009-06-17 14:09:54

标签: .net multithreading

我正在阅读CallContext类(http://msdn.microsoft.com/en-us/library/system.runtime.remoting.messaging.callcontext.aspx)。文档说明了“逻辑线程”和“线程本地存储”。

什么是逻辑线程,我不知道存在多种线程?

什么是线程本地存储,它是某种类还是某种原则?

我无法在MSDN上找到它,但我确定它有一些地方,所以任何链接都会很棒: - )

2 个答案:

答案 0 :(得分:5)

逻辑线程是一个可以追溯到COM,OLE和RPC的概念,也适用于远程处理方案。逻辑线程跟踪同步调用的执行,因为它跨越各种边界传播,包括COM公寓,RPC和远程边界。

当您考虑两个完全不相关的组件可能尝试在同一边界中执行操作时,这是一个非常重要的概念。诸如COM之类的技术必须能够区分进入其边界(公寓)的新呼叫和完全不相关的呼叫,以保证同步执行之类的事情。

逻辑主题很难在一篇小文章中解释。我的推荐是google / bing为“RPC逻辑线程”并从那里开始

线程本地存储更容易解释。它是一个存储单元,对于进程中的每个线程都是唯一的。基本的想法是你首先分配一个密钥。然后,您可以使用该键查询每个单独的线程中的项目。每个线程将为键保持不同的空间,因此具有单独的值。

答案 1 :(得分:0)