ThreadStaticAttribute 类

指示静态字段的值对于每个线程都是唯一的。

**命名空间:**System
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
<SerializableAttribute> _
<AttributeUsageAttribute(AttributeTargets.Field, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public Class ThreadStaticAttribute
    Inherits Attribute
用法
Dim instance As ThreadStaticAttribute
[SerializableAttribute] 
[AttributeUsageAttribute(AttributeTargets.Field, Inherited=false)] 
[ComVisibleAttribute(true)] 
public class ThreadStaticAttribute : Attribute
[SerializableAttribute] 
[AttributeUsageAttribute(AttributeTargets::Field, Inherited=false)] 
[ComVisibleAttribute(true)] 
public ref class ThreadStaticAttribute : public Attribute
/** @attribute SerializableAttribute() */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Field, Inherited=false) */ 
/** @attribute ComVisibleAttribute(true) */ 
public class ThreadStaticAttribute extends Attribute
SerializableAttribute 
AttributeUsageAttribute(AttributeTargets.Field, Inherited=false) 
ComVisibleAttribute(true) 
public class ThreadStaticAttribute extends Attribute

备注

ThreadStaticAttribute 标记的 static 字段不在线程之间共享。每个执行线程都有单独的字段实例,并且独立地设置及获取该字段的值。如果在不同的线程中访问该字段,则该字段将包含不同的值。

提示

不要为标记为 ThreadStaticAttribute 的字段指定初始值,因为这样的初始化只会发生一次,因此在类构造函数执行时只会影响一个线程。在不指定初始值的情况下,如果它是值类型,可依赖初始化为其默认值的字段,如果它是引用类型,则可依赖初始化为 空引用(在 Visual Basic 中为 Nothing) 的字段。

按原样使用此属性,而不要从其派生。下面是 ThreadStaticAttribute 语法的示例:

 [ThreadStatic]
 static int value;
 <ThreadStatic> _
 Shared value As Integer

有关使用属性的更多信息,请参见 利用属性扩展元数据

继承层次结构

System.Object
   System.Attribute
    System.ThreadStaticAttribute

线程安全

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

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

ThreadStaticAttribute 成员
System 命名空间
Attribute 类
Thread

其他资源

利用属性扩展元数据
托管线程处理