Indique que la valeur d'un champ statique est unique pour chaque thread.
Espace de noms : System
Assembly : mscorlib (dans mscorlib.dll)
Visual Basic (Déclaration)
<SerializableAttribute> _
<AttributeUsageAttribute(AttributeTargets.Field, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public Class ThreadStaticAttribute
Inherits Attribute
Visual Basic (Utilisation)
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
Un champ static marqué avec ThreadStaticAttribute n'est pas partagé d'un thread à un autre. Chaque thread en cours d'exécution possède une instance distincte du champ et définit et obtient séparément des valeurs pour ce champ. Si l'accès au champ s'effectue sur un thread différent, il contiendra une valeur différente.
Remarque |
|---|
| Ne spécifiez pas de valeurs initiales pour les champs marqués avec ThreadStaticAttribute. En effet, cette initialisation n'a lieu qu'une seule fois, lors de l'exécution du constructeur de classe, et elle n'affecte donc qu'un seul thread. Si aucune valeur initiale n'est spécifiée, vous êtes assuré que le champ sera initialisé à sa valeur par défaut s'il s'agit d'un type valeur, ou à référence Null (Nothing en Visual Basic) s'il s'agit d'un type référence. |
Utilisez cet attribut tel quel, sans effectuer de dérivation. Ceci est un exemple d'utilisation de la syntaxe de ThreadStaticAttribute :
[ThreadStatic]
static int value;
<ThreadStatic> _
Shared value As Integer
Pour plus d'informations sur l'utilisation des attributs, consultez Extension des métadonnées à l'aide des attributs.
System.Object
System.Attribute
System.ThreadStaticAttribute
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
.NET Framework
Prise en charge dans : 2.0, 1.1, 1.0