System.Collections.Concurrent Namespace

O namespace System.Collections.Concurrent fornece várias classes de coleção thread-safe que devem ser usadas no lugar de tipos correspondentes nos namespaces System.Collections e System.Collections.Generic sempre que vários threads estiverem acessando a coleção simultaneamente. The System.Collections.Concurrent namespace provides several thread-safe collection classes that should be used in place of the corresponding types in the System.Collections and System.Collections.Generic namespaces whenever multiple threads are accessing the collection concurrently. No entanto, não há garantia de que o acesso a elementos de um objeto de coleção por meio de métodos de extensão ou de implementações explícitas da interface seja thread-safe e talvez esse acesso precise ser sincronizado pelo chamador. However, access to elements of a collection object through extension methods or through explicit interface implementations are not guaranteed to be thread-safe and may need to be synchronized by the caller.

Classes

BlockingCollection<T>

Fornece funcionalidades de bloqueio e delimitação para coleções thread-safe que implementam IProducerConsumerCollection<T>.Provides blocking and bounding capabilities for thread-safe collections that implement IProducerConsumerCollection<T>.

ConcurrentBag<T>

Representa uma coleção thread-safe não classificada de objetos.Represents a thread-safe, unordered collection of objects.

ConcurrentDictionary<TKey,TValue>

Representa uma coleção thread-safe de pares chave-valor que podem ser acessados por vários threads ao mesmo tempo.Represents a thread-safe collection of key/value pairs that can be accessed by multiple threads concurrently.

ConcurrentQueue<T>

Representa uma coleção thread-safe PEPS (primeiro a entrar, primeiro a sair).Represents a thread-safe first in-first out (FIFO) collection.

ConcurrentStack<T>

Representa uma coleção thread-safe LIFO (último a entrar, primeiro a sair).Represents a thread-safe last in-first out (LIFO) collection.

OrderablePartitioner<TSource>

Representa uma maneira particular de dividir uma fonte de dados classificável em várias partições.Represents a particular manner of splitting an orderable data source into multiple partitions.

Partitioner

Fornece estratégias de particionamento comuns para enumeráveis, listas e matrizes.Provides common partitioning strategies for arrays, lists, and enumerables.

Partitioner<TSource>

Representa uma maneira particular de dividir uma fonte de dados em várias partições.Represents a particular manner of splitting a data source into multiple partitions.

Interfaces

IProducerConsumerCollection<T>

Define métodos para manipular coleções thread-safe destinadas a uso pelo produtor/consumidor.Defines methods to manipulate thread-safe collections intended for producer/consumer usage. Essa interface fornece uma representação unificada de coleções de produtor/consumidor para que abstrações de níveis mais altos, como o BlockingCollection<T>, possam usar a coleção como o mecanismo de armazenamento subjacente.This interface provides a unified representation for producer/consumer collections so that higher level abstractions such as BlockingCollection<T> can use the collection as the underlying storage mechanism.

Enumerações

EnumerablePartitionerOptions

Especifica opções para controlar o comportamento de armazenamento em buffer de um particionadorSpecifies options to control the buffering behavior of a partitioner