17.1 Thread-gebundene statische Felder erzeugen
Problem
Statische Felder werden per Default zwischen den Threads einer AppDomain geteilt. Sie müssen es ermöglichen, dass jeder Thread seine eigene, nicht-geteilte Kopie eines statischen Felds hat, damit dieses statische Feld thread-basiert aktualisiert werden kann.
Lösung
Nutzen Sie das Attribut ThreadStaticAttribute
, um static
-Felder so zu markieren, dass sie von Threads nicht geteilt werden:
using System; using System.Threading; public class Foo { [ThreadStaticAttribute( )] public static string bar = "Initialized string"; }
Diskussion
Standardmäßig werden statische Felder von allen Threads geteilt, die auf diese Felder in der gleichen AppDomain zugreifen. Um das zu demonstrieren, erzeugen wir eine Klasse ...
Get C# Kochbuch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.