BatchBlock<T> クラス

定義

入力を配列にバッチ処理するデータフロー ブロックを提供します。

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)

型パラメーター

T

バッチに格納されるデータの種類を指定します。

継承
BatchBlock<T>
実装

注釈

Note

TPL データフロー ライブラリ (System.Threading.Tasks.Dataflow 名前空間) は.NET と共に配布されません。 Visual Studio で System.Threading.Tasks.Dataflow 名前空間をインストールするには、プロジェクトを開き、[プロジェクト] メニューから [NuGet パッケージの管理] 選択し、System.Threading.Tasks.Dataflow パッケージをオンラインで検索します。 または、.NET Core CLI 使用してインストールするには、dotnet add package System.Threading.Tasks.Dataflow実行します。

コンストラクター

名前 説明
BatchBlock<T>(Int32, GroupingDataflowBlockOptions)

指定したバッチ サイズ、拒否オプション、およびブロック オプションを使用して、新しい BatchBlock<T> を初期化します。

BatchBlock<T>(Int32)

指定したバッチ サイズで新しい BatchBlock<T> を初期化します。

プロパティ

名前 説明
BatchSize

この BatchBlock<T>によって生成されるバッチのサイズを取得します。

Completion

非同期操作とデータフロー ブロックの完了を表す Task を取得します。

OutputCount

このブロックから受信できる出力項目の数を取得します。

メソッド

名前 説明
Complete()

これ以上メッセージを受け入れても生成したり、それ以上延期されたメッセージを使用したりしてはならないことを IDataflowBlock に通知します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
LinkTo(ITargetBlock<T[]>, DataflowLinkOptions)

指定したISourceBlock<TOutput>ITargetBlock<TInput>をリンクします。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

この IDataflowBlock インスタンスの書式設定された名前を表す文字列を返します。

TriggerBatch()

現在キューに登録または延期されている項目の数がBatchBlock<T>よりも少ない場合でも、バッチ処理操作を開始するBatchSizeをトリガーします。

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

IReceivableSourceBlock<TOutput>から使用可能な出力項目を同期的に受信しようとします。

TryReceiveAll(IList<T[]>)

IReceivableSourceBlock<TOutput>から使用可能なすべての項目を同期的に受信しようとします。

明示的なインターフェイスの実装

名前 説明
IDataflowBlock.Fault(Exception)

IDataflowBlockFaulted状態で完了します。

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

リンクされたITargetBlock<TInput>によって呼び出され、このDataflowMessageHeaderによって以前に提供されたISourceBlock<TOutput>を受け入れて使用します。

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

リンクされたITargetBlock<TInput>によって呼び出され、このDataflowMessageHeaderによって以前に予約されたISourceBlock<TOutput>が解放されます。

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

リンクされたITargetBlock<TInput>によって呼び出され、このDataflowMessageHeaderによって以前に提供されたISourceBlock<TOutput>を予約します。

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

ITargetBlock<TInput>にメッセージを提供し、ターゲットにメッセージを使用または延期する機会を提供します。

拡張メソッド

名前 説明
AsObservable<TOutput>(ISourceBlock<TOutput>)

IObservable<T>に対する新しいISourceBlock<TOutput>抽象化を作成します。

AsObserver<TInput>(ITargetBlock<TInput>)

IObserver<T>に対する新しいITargetBlock<TInput>抽象化を作成します。

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

指定したフィルターを使用して、指定したISourceBlock<TOutput>ITargetBlock<TInput>をリンクします。

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

指定したフィルターを使用して、指定したISourceBlock<TOutput>ITargetBlock<TInput>をリンクします。

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

指定したISourceBlock<TOutput>ITargetBlock<TInput>をリンクします。

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

ソースで使用可能な出力を非同期的に監視する Task<TResult> を提供します。

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

ソースで使用可能な出力を非同期的に監視する Task<TResult> を提供します。

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

アイテムを ITargetBlock<TInput>に投稿します。

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

指定したソースから値を同期的に受信し、操作を取り消すトークンを提供します。

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

指定したソースから値を同期的に受信し、操作を取り消すトークンを提供し、オプションのタイムアウト間隔を監視します。

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

指定したソースから値を同期的に受信し、オプションのタイムアウト期間を監視します。

Receive<TOutput>(ISourceBlock<TOutput>)

指定したソースから値を同期的に受信します。

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

ソースからすべてのデータを受信できるようにする IAsyncEnumerable<T> を作成します。

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

指定したソースから値を非同期に受信し、操作を取り消すトークンを提供します。

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

指定したソースから値を非同期に受信し、操作を取り消すトークンを提供し、オプションのタイムアウト間隔を監視します。

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

指定したソースから値を非同期に受信し、オプションのタイムアウト期間を監視します。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

指定したソースから値を非同期的に受信します。

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

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、延期できるようにします。

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

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、延期できるようにします。

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

ISourceBlock<TOutput>からアイテムを同期的に受信しようとします。

適用対象