Exportieren (0) Drucken
Alle erweitern

ThreadStaticAttribute-Klasse

Aktualisiert: November 2007

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

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

[SerializableAttribute]
[AttributeUsageAttribute(AttributeTargets.Field, Inherited = false)]
[ComVisibleAttribute(true)]
public class ThreadStaticAttribute : Attribute
/** @attribute SerializableAttribute */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Field, Inherited = false) */
/** @attribute ComVisibleAttribute(true) */
public class ThreadStaticAttribute extends Attribute
public class ThreadStaticAttribute extends Attribute

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.

h3811ycd.alert_note(de-de,VS.90).gifHinweis:

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, 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.

System.Object
  System.Attribute
    System.ThreadStaticAttribute

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

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

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0, 1.1, 1.0

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft