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.