System.LocalDataStoreSlot 类

方法描述

封装内存槽以存储本地数据。 此类不能被继承。

语法定义(C# System.LocalDataStoreSlot 类 的用法)

[ComVisibleAttribute(true)]
public sealed class LocalDataStoreSlot

构造函数

构造函数名称 构造函数描述

成员/方法

方法名称 方法描述
Equals(Object) 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
GetType 获取当前实例的 Type。 (继承自 Object。)
MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
ToString 返回表示当前对象的字符串。 (继承自 Object。)

提示和注释

.NET Framework 提供了两个使用线程本地存储区 (TLS) 的机制:线程相关的静态字段和数据槽。

线程相关的静态字段是用 ThreadStaticAttribute 特性标记的 static 字段(Visual Basic 中的 Shared 字段)。 这些字段提供的性能比数据槽的性能好,而且它还启用了编译时类型检查。

与线程相关的静态字段相比,数据槽性能较低,并且比较难使用。 此外,数据被存储为 Object 类型,因此在使用之前必须将其强制转换为正确的类型。 但是,如果在编译时所具有的信息不足以分配静态字段,则可以使用数据槽。

有关使用 TLS 的更多信息,请参见线程本地存储区:线程相关的静态字段和数据槽。

同样,.NET Framework 提供了两个使用上下文本地存储区的机制:上下文相关的静态字段和数据槽。 上下文相关的静态字段是用 ContextStaticAttribute 特性标记的静态字段。 使用这两种机制之间的折衷方案类似于使用线程相关的静态字段与使用数据槽之间的折衷方案。

LocalDataStoreSlot 结构可用作本地存储内存机制,线程和上下文可以使用此机制分别存储线程特定的数据和上下文特定的数据。 公共语言运行时在创建每个进程时给它分配一个多槽数据存储区数组。 线程或上下文调用各种函数在数据存储区中分配数据槽、在槽内存储和检索数据值、以及释放数据槽以便在线程或上下文过期后重新使用它。

对于每个线程或上下文,数据槽都是唯一的;它们的值在线程或上下文对象之间不共享。 数据槽可根据名称或根据索引号来分配。

有关存储本地数据的更多信息,请参见 Thread 或 Context。 LocalDataStoreSlot 类与诸如 Thread.AllocateNamedDataSlot、Context.AllocateNamedDataSlot、Thread.GetData 和 Context.GetData 之类的方法一起使用;它自己不具有您需要使用的任何方法。

System.LocalDataStoreSlot 类例子


继承层次结构

System.Object

System.LocalDataStoreSlot

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。