次の方法で共有


AsyncPipeline クラス

定義

非同期アクティビティの生成速度を制御できるヘルパー ユーティリティ クラス。 指定された最大容量まで非同期操作のパイプラインを維持し、エンキューされた操作が完了しない前にパイプラインが深すぎる場合に呼び出し元のスレッドをブロックします。 効果的に呼び出し元にバックプレッシャーを追加します。 これは主に、制御された負荷の下でグレインをストレステストする場合に便利であり、グレイン コード内から使用しないでください。

public class AsyncPipeline : Orleans.Runtime.IPipeline
type AsyncPipeline = class
    interface IPipeline
Public Class AsyncPipeline
Implements IPipeline
継承
AsyncPipeline
実装

コンストラクター

AsyncPipeline()

DefaultCapacity と等しい容量を持つ空の AsyncPipeline を構築します。

AsyncPipeline(Int32)

特定の容量を持つ空の AsyncPipeline を構築します。

フィールド

DEFAULT_CAPACITY

この AsyncPipeline の既定の容量。 10 に等しい。

プロパティ

Capacity

この非同期パイプラインにエンキューできる非同期のインフライト操作の最大数。

Count

この非同期パイプラインに現在エンキューされている項目の数。

メソッド

Add(Task)

この AsyncPipeline に新しいタスクを追加します。

AddRange(IEnumerable<Task>)

この AsyncPipeline にタスクのコレクションを追加します。

AddRange<T>(IEnumerable<Task<T>>)

この AsyncPipeline にタスクのコレクションを追加します。

Wait()

現在キューに登録されているすべての非同期操作が完了するまで待機します。 呼び出し元のスレッドをブロックします。

適用対象