BatchBlock<T> Klass

Definition

Tillhandahåller ett dataflödesblock som batchar indata i matriser.

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)

Typparametrar

T

Anger vilken typ av data som placeras i batchar.

Arv
BatchBlock<T>
Implementeringar

Kommentarer

Note

TPL-dataflödesbiblioteket (System.Threading.Tasks.Dataflow-namnområdet) distribueras inte med .NET. Om du vill installera System.Threading.Tasks.Dataflow-namnområdet i Visual Studio öppnar du projektet, väljer Hantera NuGet-paket från menyn Project och söker online efter System.Threading.Tasks.Dataflow-paketet. Alternativt, för att installera det med hjälp av .NET Core CLI, kör dotnet add package System.Threading.Tasks.Dataflow.

Konstruktorer

Name Description
BatchBlock<T>(Int32, GroupingDataflowBlockOptions)

Initierar en ny BatchBlock<T> med angiven batchstorlek, degressiva alternativ och blockalternativ.

BatchBlock<T>(Int32)

Initierar en ny BatchBlock<T> med den angivna batchstorleken.

Egenskaper

Name Description
BatchSize

Hämtar storleken på batcharna som genereras av den här BatchBlock<T>.

Completion

Hämtar en Task som representerar den asynkrona åtgärden och slutförandet av dataflödesblocket.

OutputCount

Hämtar antalet tillgängliga utdataobjekt som ska tas emot från det här blocket.

Metoder

Name Description
Complete()

Signaler till att den IDataflowBlock inte bör acceptera eller producera fler meddelanden eller förbruka fler uppskjutna meddelanden.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
LinkTo(ITargetBlock<T[]>, DataflowLinkOptions)

ISourceBlock<TOutput> Länkar till angiven ITargetBlock<TInput> .

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det formaterade namnet på den här IDataflowBlock instansen.

TriggerBatch()

Utlöser BatchBlock<T> för att initiera en batchbearbetningsåtgärd även om antalet objekt som för närvarande står i kö eller skjuts upp är mindre än BatchSize.

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

Försök att synkront ta emot ett tillgängligt utdataobjekt från IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<T[]>)

Försöker ta emot alla tillgängliga objekt synkront från IReceivableSourceBlock<TOutput>.

Explicita gränssnittsimplementeringar

Name Description
IDataflowBlock.Fault(Exception)

Gör att den IDataflowBlock slutförs i ett Faulted tillstånd.

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

Anropas av en länkad ITargetBlock<TInput> för att acceptera och använda en DataflowMessageHeader tidigare erbjuden av denna ISourceBlock<TOutput> .

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

Anropas av en länkad ITargetBlock<TInput> för att släppa en tidigare reserverad DataflowMessageHeader av denna ISourceBlock<TOutput>.

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

Anropas av en länkad ITargetBlock<TInput> till reservera en tidigare erbjuden DataflowMessageHeader av denna ISourceBlock<TOutput>.

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

Erbjuder ett meddelande till ITargetBlock<TInput>, vilket ger målet möjlighet att använda eller skjuta upp meddelandet.

Tilläggsmetoder

Name Description
AsObservable<TOutput>(ISourceBlock<TOutput>)

Skapar en ny IObservable<T> abstraktion över ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Skapar en ny IObserver<T> abstraktion över ITargetBlock<TInput>.

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

ISourceBlock<TOutput> Länkar till det angivna ITargetBlock<TInput> med det angivna filtret.

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

ISourceBlock<TOutput> Länkar till det angivna ITargetBlock<TInput> med det angivna filtret.

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

ISourceBlock<TOutput> Länkar till angiven ITargetBlock<TInput>.

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

Tillhandahåller en Task<TResult> som asynkront övervakar källan för tillgängliga utdata.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Tillhandahåller en Task<TResult> som asynkront övervakar källan för tillgängliga utdata.

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

Publicerar ett objekt i ITargetBlock<TInput>.

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

Tar synkront emot ett värde från en angiven källa och tillhandahåller en token för att avbryta åtgärden.

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

Tar synkront emot ett värde från en angiven källa, vilket ger en token för att avbryta åtgärden och observerar ett valfritt tidsgränsintervall.

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

Tar synkront emot ett värde från en angiven källa och observerar en valfri tidsgräns.

Receive<TOutput>(ISourceBlock<TOutput>)

Tar synkront emot ett värde från en angiven källa.

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

Skapar en IAsyncEnumerable<T> som gör det möjligt att ta emot alla data från källan.

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

Tar asynkront emot ett värde från en angiven källa och tillhandahåller en token för att avbryta åtgärden.

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

Asynkront tar emot ett värde från en angiven källa, vilket ger en token för att avbryta åtgärden och observera ett valfritt tidsgränsintervall.

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

Tar asynkront emot ett värde från en angiven källa och observerar en valfri tidsgräns.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Tar asynkront emot ett värde från en angiven källa.

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

Asynkront erbjuder ett meddelande till målmeddelandeblocket, vilket möjliggör senareläggning.

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

Asynkront erbjuder ett meddelande till målmeddelandeblocket, vilket möjliggör senareläggning.

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

Försöker ta emot ett objekt synkront från ISourceBlock<TOutput>.

Gäller för