Freigeben über


ThreadStaticAttribute-Klasse

Gibt an, dass der Wert eines statischen Felds für jeden Thread eindeutig ist.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
<SerializableAttribute> _
<AttributeUsageAttribute(AttributeTargets.Field, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public Class ThreadStaticAttribute
    Inherits Attribute
'Usage
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

Hinweise

Ein static-Feld, das mit ThreadStaticAttribute markiert ist, kann von verschiedenen Threads nicht gemeinsam verwendet werden. Jeder Ausführungsthread besitzt eine eigene Instanz des Felds, und die Werte des Felds werden jeweils unabhängig abgerufen und festgelegt. Wenn auf das Feld von einem anderen Thread aus zugegriffen wird, enthält es einen anderen Wert.

Hinweis

Geben Sie für Felder, die mit ThreadStaticAttribute markiert sind, keine Anfangswerte an, da diese Initialisierung nur einmal beim Ausführen des Klassenkonstruktors erfolgt und daher nur einen Thread beeinflusst. Wenn Sie keinen Anfangswert angeben, wird das Feld mit dem Standardwert initialisiert, wenn es sich um einen Werttyp handelt, oder mit NULL (Nothing in Visual Basic), wenn es sich im einen Verweistyp handelt.

Verwenden Sie dieses Attribut so, wie es ist, und leiten Sie nicht von ihm ab. Das folgende Beispiel veranschaulicht die ThreadStaticAttribute-Syntax:

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

Weitere Informationen über das Verwenden von Attributen finden Sie unter Erweitern von Metadaten mithilfe von Attributen.

Vererbungshierarchie

System.Object
   System.Attribute
    System.ThreadStaticAttribute

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ThreadStaticAttribute-Member
System-Namespace
Attribute-Klasse
Thread

Weitere Ressourcen

Erweitern von Metadaten mithilfe von Attributen
Verwaltetes Threading