System.Collections.Concurrent Namespace

Fornece várias classes de coleção thread-safe que devem ser usadas no lugar dos tipos correspondentes nos namespaces System.Collections e System.Collections.Generic sempre que vários threads acessarem a coleção simultaneamente.

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.

Classes

BlockingCollection<T>

Fornece funcionalidades de bloqueio e delimitação para coleções thread-safe que implementam IProducerConsumerCollection<T>.

ConcurrentBag<T>

Representa uma coleção thread-safe não classificada de objetos.

ConcurrentDictionary<TKey,TValue>

Representa uma coleção thread-safe de pares chave-valor que podem ser acessados por vários threads ao mesmo tempo.

ConcurrentQueue<T>

Representa uma coleção thread-safe PEPS (primeiro a entrar, primeiro a sair).

ConcurrentStack<T>

Representa uma coleção thread-safe LIFO (último a entrar, primeiro a sair).

OrderablePartitioner<TSource>

Representa uma maneira particular de dividir uma fonte de dados classificável em várias partições.

Partitioner

Fornece estratégias de particionamento comuns para enumeráveis, listas e matrizes.

Partitioner<TSource>

Representa uma maneira particular de dividir uma fonte de dados em várias partições.

Interfaces

IProducerConsumerCollection<T>

Define métodos para manipular coleções thread-safe destinadas a uso pelo produtor/consumidor. 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.

Enumerações

EnumerablePartitionerOptions

Especifica opções para controlar o comportamento de armazenamento em buffer de um particionador.