Compartilhar via


BatchBlock<T> Classe

Definição

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

generic <typename T>
public ref class BatchBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<T, cli::array <T> ^>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<cli::array <T> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<cli::array <T> ^>, System::Threading::Tasks::Dataflow::ITargetBlock<T>
public sealed class BatchBlock<T> : System.Threading.Tasks.Dataflow.IPropagatorBlock<T,T[]>, System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T[]>, System.Threading.Tasks.Dataflow.ISourceBlock<T[]>, System.Threading.Tasks.Dataflow.ITargetBlock<T>
type BatchBlock<'T> = class
    interface IPropagatorBlock<'T, 'T[]>
    interface ITargetBlock<'T>
    interface IDataflowBlock
    interface ISourceBlock<'T[]>
    interface IReceivableSourceBlock<'T[]>
type BatchBlock<'T> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'T, 'T[]>
    interface ISourceBlock<'T[]>
    interface ITargetBlock<'T>
    interface IReceivableSourceBlock<'T[]>
Public NotInheritable Class BatchBlock(Of T)
Implements IPropagatorBlock(Of T, T()), IReceivableSourceBlock(Of T()), ISourceBlock(Of T()), ITargetBlock(Of T)

Parâmetros de tipo

T

Especifica o tipo de dados colocados em lotes.

Herança
BatchBlock<T>
Implementações

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.

Construtores

BatchBlock<T>(Int32)

Inicializa um novo BatchBlock<T> com o tamanho de lote especificado.

BatchBlock<T>(Int32, GroupingDataflowBlockOptions)

Inicializa um novo BatchBlock<T> com o tamanho de lote especificado, opção de recusa e opções de bloqueio.

Propriedades

BatchSize

Obtém o tamanho dos lotes gerados por este BatchBlock<T>.

Completion

Obtém um Task que representa a operação assíncrona e a conclusão do bloco de fluxo de dados.

OutputCount

Obtém o número de itens de saída disponíveis para serem recebidos deste bloco.

Métodos

Complete()

Sinaliza para o IDataflowBlock que ele não deve aceitar nem produzir mais mensagens, e não deve consumir mais mensagens adiadas.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LinkTo(ITargetBlock<T[]>, DataflowLinkOptions)

Vincula o ISourceBlock<TOutput> ao ITargetBlock<TInput> especificado.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o nome formatado desta instância IDataflowBlock.

TriggerBatch()

Dispara o BatchBlock<T> para iniciar uma operação de envio em lote, mesmo se o número de itens atualmente na fila ou adiados for menor do que o BatchSize.

TryReceive(Predicate<T[]>, T[])

Tentativas de receber assincronamente um item de saída disponível do IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<T[]>)

Tentativas de receber assincronamente todos os itens disponíveis do IReceivableSourceBlock<TOutput>.

Implantações explícitas de interface

IDataflowBlock.Fault(Exception)

Faz com que o IDataflowBlock seja concluído em um estado Faulted.

ISourceBlock<T[]>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<T[]>, Boolean)

Chamado por um ITargetBlock<TInput> vinculado para aceitar e consumir um DataflowMessageHeader anteriormente oferecido por este ISourceBlock<TOutput>.

ISourceBlock<T[]>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<T[]>)

Chamado por um ITargetBlock<TInput> vinculado para liberar um DataflowMessageHeader reservado anteriormente por este ISourceBlock<TOutput>.

ISourceBlock<T[]>.ReserveMessage(DataflowMessageHeader, ITargetBlock<T[]>)

Chamado por um ITargetBlock<TInput> vinculado para reservar um DataflowMessageHeader oferecido anteriormente por este ISourceBlock<TOutput>.

ITargetBlock<T>.OfferMessage(DataflowMessageHeader, T, ISourceBlock<T>, Boolean)

Oferece uma mensagem para o ITargetBlock<TInput>, que fornece ao destino a oportunidade de consumir ou adiar a mensagem.

Métodos de Extensão

AsObservable<TOutput>(ISourceBlock<TOutput>)

Cria uma nova abstração IObservable<T> em relação a ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Cria uma nova abstração IObserver<T> em relação a ITargetBlock<TInput>.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>)

Vincula o ISourceBlock<TOutput> ao ITargetBlock<TInput> especificado.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>)

Vincula o ISourceBlock<TOutput> ao ITargetBlock<TInput> especificado usando o filtro indicado.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>)

Vincula o ISourceBlock<TOutput> para o ITargetBlock<TInput> especificado usando o filtro indicado.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Fornece um Task<TResult> que monitora assincronamente a saída disponível na fonte.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Fornece um Task<TResult> que monitora assincronamente a fonte de saída disponível.

Post<TInput>(ITargetBlock<TInput>, TInput)

Adiciona um item ao ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

Recebe de forma síncrona um valor de uma origem especificada.

Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Recebe de forma síncrona um valor de uma origem especificada e fornece um token para cancelar a operação.

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan)

Recebe de forma síncrona um valor de uma origem especificada, observando um período de tempo limite opcional.

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

Recebe de forma síncrona um valor de uma fonte especificada, fornecendo um token para cancelar a operação e observando um intervalo de tempo limite opcional.

ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken)

Cria um IAsyncEnumerable<T> que permite o recebimento de todos os dados da origem.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Recebe assincronamente um valor de uma origem especificada.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Recebe assincronamente um valor de uma origem especificada e fornece um token para cancelar a operação.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan)

Recebe assincronamente um valor de uma origem especificada, observando um período de tempo limite opcional.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

Recebe assincronamente um valor de uma fonte especificada, fornecendo um token para cancelar a operação e observando um intervalo de tempo limite opcional.

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

Oferece assincronamente uma mensagem para o bloco de mensagens de destino, permitindo adiamento.

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

Oferece assincronamente uma mensagem para o bloco de mensagens de destino, permitindo adiamento.

TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput)

Tentativas de receber assincronamente um item do ISourceBlock<TOutput>.

Aplica-se a