Поделиться через


AsyncPipeline Класс

Определение

Вспомогательный служебный класс, позволяющий управлять скоростью создания асинхронных действий. Поддерживает конвейер асинхронных операций до заданной максимальной емкости и блокирует вызывающий поток, если конвейер становится слишком глубоким, прежде чем операции в очереди не будут завершены. Эффективно добавляет обратное давление на вызывающий объект. Это в основном полезно для нагрузочного тестирования интервалов под контролируемой нагрузкой и никогда не должно использоваться в коде grain!

public class AsyncPipeline : Orleans.Runtime.IPipeline
type AsyncPipeline = class
    interface IPipeline
Public Class AsyncPipeline
Implements IPipeline
Наследование
AsyncPipeline
Реализации

Конструкторы

AsyncPipeline()

Создает пустой AsyncPipeline с емкостью, равной DefaultCapacity.

AsyncPipeline(Int32)

Создает пустой AsyncPipeline с заданной емкостью.

Поля

DEFAULT_CAPACITY

Емкость AsyncPipeline по умолчанию. Равно 10.

Свойства

Capacity

Максимальное число выполняемых асинхронных операций, которые можно поместить в очередь в этом асинхронном конвейере.

Count

Количество элементов, помещенных в этот асинхронный конвейер.

Методы

Add(Task)

Добавляет новую задачу в этот AsyncPipeline.

AddRange(IEnumerable<Task>)

Добавляет коллекцию задач в этот AsyncPipeline.

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

Добавляет коллекцию задач в этот AsyncPipeline.

Wait()

Ожидает завершения всех текущих асинхронных операций, помещенных в очередь. Блокирует вызывающий поток.

Применяется к