System.Collections.Concurrent Namespace

Dieser Namespace stellt mehrere threadsichere Sammlungsklassen bereit, die anstelle der entsprechenden Typen im System.Collections- und System.Collections.Generic-Namespace verwendet werden sollten, wenn mehrere Threads gleichzeitig auf die Sammlung zugreifen.

Der Zugriff auf Elemente eines Auflistungsobjekts über Erweiterungsmethoden oder explizite Schnittstellenimplementierungen ist nicht immer threadsicher und muss möglicherweise vom Aufrufer synchronisiert werden.

Klassen

BlockingCollection<T>

Stellt Sperr- und Begrenzungsfunktionen für threadsichere Auflistungen bereit, die IProducerConsumerCollection<T> implementieren.

ConcurrentBag<T>

Stellt eine threadsichere, ungeordnete Auflistung von Objekten dar.

ConcurrentDictionary<TKey,TValue>

Stellt eine threadsichere Auflistung von Schlüssel-Wert-Paaren dar, auf die durch mehrere Threads gleichzeitig zugegriffen werden kann.

ConcurrentQueue<T>

Stellt eine threadsichere FIFO-Auflistung (First-In-First-Out) dar.

ConcurrentStack<T>

Stellt eine threadsichere LIFO (Last-In-First-Out)-Auflistung dar.

OrderablePartitioner<TSource>

Stellt eine bestimmte Methode dar, mit der eine sortierbare Datenquelle in mehrere Partitionen aufgeteilt wird.

Partitioner

Stellt allgemeine Partitionierungsstrategien für Arrays, Listen und aufzählbare Elemente bereit.

Partitioner<TSource>

Stellt eine bestimmte Methode dar, mit der eine Datenquelle in mehrere Partitionen aufgeteilt wird.

Schnittstellen

IProducerConsumerCollection<T>

Definiert Methoden, um für die Verwendung durch einen Producer/Consumer vorgesehene threadsichere Auflistungen zu bearbeiten. Diese Schnittstelle stellt eine einheitliche Darstellung von Producer/Consumer-Auflistungen bereit, damit Abstraktionen auf höherer Ebene, z. B. BlockingCollection<T>, die Auflistung als zugrunde liegenden Speichermechanismus verwenden können.

Enumerationen

EnumerablePartitionerOptions

Gibt Optionen an, die das Pufferverhalten eines Partitionierers steuern.