System.Collections.Concurrent Przestrzeń nazw

Zapewnia kilka klas kolekcji bezpiecznych dla wątków, które powinny być używane zamiast odpowiednich typów w System.CollectionsSystem.Collections.Generic przestrzeniach nazw i za każdym razem, gdy wiele wątków uzyskuje dostęp do kolekcji współbieżnie.

Jednak dostęp do elementów obiektu kolekcji za pomocą metod rozszerzających lub w jawnych implementacjach interfejsów nie gwarantuje, że jest bezpieczny wątkowo i może wymagać synchronizacji przez obiekt wywołujący.

Klasy

BlockingCollection<T>

Udostępnia funkcje blokowania i ograniczenia dla kolekcji bezpiecznych wątkowo, które implementują IProducerConsumerCollection<T>program .

ConcurrentBag<T>

Reprezentuje bezpieczną wątkowo, nieurządkowaną kolekcję obiektów.

ConcurrentDictionary<TKey,TValue>

Reprezentuje bezpieczną wątkowo kolekcję par klucz/wartość, do których można uzyskać dostęp jednocześnie przez wiele wątków.

ConcurrentQueue<T>

Reprezentuje kolekcję fiFO (first in-first out) bezpieczną wątkowo.

ConcurrentStack<T>

Reprezentuje bezpieczną wątkowo kolekcję liFO (last in-first out).

OrderablePartitioner<TSource>

Reprezentuje określony sposób dzielenia uporządkowanego źródła danych na wiele partycji.

Partitioner

Udostępnia typowe strategie partycjonowania dla tablic, list i wyliczenia.

Partitioner<TSource>

Reprezentuje określony sposób dzielenia źródła danych na wiele partycji.

Interfejsy

IProducerConsumerCollection<T>

Definiuje metody manipulowania kolekcjami bezpiecznymi wątkowo przeznaczonymi do użycia przez producenta/konsumenta. Ten interfejs zapewnia ujednoliconą reprezentację kolekcji producentów/konsumentów, dzięki czemu abstrakcje wyższego poziomu, takie jak BlockingCollection<T> mogą używać kolekcji jako podstawowego mechanizmu magazynu.

Wyliczenia

EnumerablePartitionerOptions

Określa opcje kontrolowania zachowania buforowania partycjonatora.