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.