Compartilhar via


System.Threading.Tasks.Dataflow Namespace

Fornece um modelo de programação baseado em ator compatível com a passagem de mensagens em processo para tarefas de pipeline e fluxo de dados de alta granularidade.

Classes

ActionBlock<TInput>

Fornece um bloco de fluxo de dados que invoca um delegado Action<T> fornecido para cada elemento de dados recebido.

BatchBlock<T>

Fornece um bloco de fluxo de dados que processa em lotes entradas em matrizes.

BatchedJoinBlock<T1,T2>

Fornece um bloco de fluxo de dados que processa em lotes um número especificado de entradas de possíveis tipos diferentes fornecidos a um ou mais de seus destinos.

BatchedJoinBlock<T1,T2,T3>

Fornece um bloco de fluxo de dados que processa em lotes um número especificado de entradas de possíveis tipos diferentes fornecidos a um ou mais de seus destinos.

BroadcastBlock<T>

Fornece um buffer para armazenar no máximo um elemento de cada vez, substituindo cada mensagem pela seguinte à medida que elas chegam.

BufferBlock<T>

Fornece um buffer para armazenar dados para um Fluxo de dados.

DataflowBlock

Fornece um conjunto de métodos estáticos (compartilhado no Visual Basic) para trabalhar com blocos de fluxo de dados.

DataflowBlockOptions

Fornece as opções usadas para configurar o processamento executado por blocos de fluxo de dados.

DataflowLinkOptions

Fornece as opções usadas para configurar um link entre blocos de fluxo de dados.

ExecutionDataflowBlockOptions

Fornece as opções usadas para configurar o processamento executado pelos blocos de fluxo de dados que processam cada mensagem por meio da invocação de um representante fornecido por um usuário. São blocos de fluxo de dados, como ActionBlock<TInput> e TransformBlock<TInput,TOutput>.

GroupingDataflowBlockOptions

Fornece as opções usadas para configurar o processamento executado pelos blocos de fluxo de dados que agrupam várias mensagens. São blocos de fluxo de dados, como JoinBlock<T1,T2> e BatchBlock<T>.

JoinBlock<T1,T2>

Fornece um bloco de fluxo de dados que ingressa em várias fontes de fluxo de dados, não necessariamente do mesmo tipo, aguardando um item ser recebido para cada tipo antes que sejam todos liberados juntos como uma tupla que contém um item por tipo.

JoinBlock<T1,T2,T3>

Fornece um bloco de fluxo de dados que ingressa em várias fontes de fluxo de dados, que não são necessariamente do mesmo tipo, aguardando um item ser recebido para cada tipo antes que sejam todos liberados juntos como uma tupla que contém um item por tipo.

TransformBlock<TInput,TOutput>

Fornece um bloco de fluxo de dados que invoca um delegado Func<T,TResult> fornecido para cada elemento de dados recebido.

TransformManyBlock<TInput,TOutput>

Fornece um bloco de fluxo de dados que invoca um delegado Func<T,TResult> fornecido para cada elemento de dados recebido.

WriteOnceBlock<T>

Fornece um buffer para recebimento e armazenamento de, no máximo, um elemento em uma rede de blocos de fluxo de dados.

Estruturas

DataflowMessageHeader

Fornece um contêiner de atributos de dados para passagem entre blocos de fluxo de dados.

Interfaces

IDataflowBlock

Representa um bloco de fluxo de dados.

IPropagatorBlock<TInput,TOutput>

Representa um bloco de fluxo de dados que é um destino para dados e uma origem de dados.

IReceivableSourceBlock<TOutput>

Representa um bloco de fluxo de dados que oferece suporte ao recebimento de mensagens sem vínculo.

ISourceBlock<TOutput>

Representa um bloco de fluxo de dados que é uma origem de dados.

ITargetBlock<TInput>

Representa um bloco de fluxo de dados que é um destino para os dados.

Enumerações

DataflowMessageStatus

Representa o status de um DataflowMessageHeader quando transmitido entre blocos de fluxo de dados.

Comentários

Observação

A Biblioteca de Fluxo de Dados TPL (o namespace System.Threading.Tasks.Dataflow) não é distribuída com o .NET. Para instalar o namespace System.Threading.Tasks.Dataflow no Visual Studio, abra o projeto, escolha Gerenciar Pacotes NuGet no menu Projeto e pesquise online o pacote System.Threading.Tasks.Dataflow. Como alternativa, instale-o usando a CLI do .NET Core e execute dotnet add package System.Threading.Tasks.Dataflow.

Para obter mais informações, consulte Dataflow.