System.Threading.Tasks.Dataflow Пространство имен

Предоставляет модель программирования на основе субъектов и внутрипроцессную передачу сообщений для недетализированного потока данных и задач по конвейеризации.

Классы

ActionBlock<TInput>

Предоставляет блок потока данных, который вызывает предоставленный делегат Action<T> для каждого полученного элемента данных.

BatchBlock<T>

Предоставляет блок потока данных, объединяющий вводы в массивы.

BatchedJoinBlock<T1,T2>

Предоставляет блок потока данных, включающий заданное число вводов потенциально различающихся типов, предоставляемых для одного или нескольких целевых объектов.

BatchedJoinBlock<T1,T2,T3>

Предоставляет блок потока данных, включающий заданное число вводов потенциально различающихся типов, предоставляемых для одного или нескольких целевых объектов.

BroadcastBlock<T>

Предоставляет буфер для хранения максимум одного элемента за раз. Сообщение перезаписывается следующим по мере поступления.

BufferBlock<T>

Создает буфер для хранения данных в потоке данных.

DataflowBlock

Предоставляет набор статических методов (Shared в Visual Basic) для работы с блоками потоков данных.

DataflowBlockOptions

Предоставляет параметры, используемые для настройки обработки, выполняемой блоками потока данных.

DataflowLinkOptions

Предоставляет параметры, используемые для настройки связи между блоками потока данных.

ExecutionDataflowBlockOptions

Предоставляет параметры, используемые для настройки обработки, выполняемой блоками потока данных, которые обрабатывают каждое сообщение с помощью вызова указанного пользователем делегата. Это блоки потока данных, такие как ActionBlock<TInput> и TransformBlock<TInput,TOutput>.

GroupingDataflowBlockOptions

Предоставляет параметры, используемые для настройки обработки, выполняемой блоками потока данных, которые группируют несколько сообщений. Эти блоки потока данных, такие как JoinBlock<T1,T2> и BatchBlock<T>.

JoinBlock<T1,T2>

Предоставляет блок потока данных, объединяющий несколько источников потоков данных, необязательно одного типа, ожидая появления каждого типа, прежде чем они все совместно выпускаются как кортеж, состоящий из одного элемента каждого типа.

JoinBlock<T1,T2,T3>

Предоставляет блок потока данных, объединяющий несколько источников потоков данных, необязательно одного типа, ожидая появления каждого типа, прежде чем они все совместно выпускаются как кортеж, состоящий из одного элемента каждого типа.

TransformBlock<TInput,TOutput>

Предоставляет блок потока данных, который вызывает предоставленный делегат Func<T,TResult> для каждого полученного элемента данных.

TransformManyBlock<TInput,TOutput>

Предоставляет блок потока данных, который вызывает предоставленный делегат Func<T,TResult> для каждого полученного элемента данных.

WriteOnceBlock<T>

Предоставляет буфер для получения и хранения не более чем одного элемента в сети блоков потока данных.

Структуры

DataflowMessageHeader

Предоставляет контейнер атрибутов данных для передачи между блоками потока данных.

Интерфейсы

IDataflowBlock

Представляет блок потока данных.

IPropagatorBlock<TInput,TOutput>

Представляет блок потока данных, который является и целевым объектом для данных, и источником данных.

IReceivableSourceBlock<TOutput>

Представляет блок потока данных, который поддерживает получение сообщений без привязывания.

ISourceBlock<TOutput>

Представляет блок потока данных, который является источником данных.

ITargetBlock<TInput>

Представляет блок потока данных, который является целевым объектом для данных.

Перечисления

DataflowMessageStatus

Представляет состояние DataflowMessageHeader при передаче между блоками потока данных.

Комментарии

Примечание

Библиотека потоков данных TPL (пространство имен System.Threading.Tasks.Dataflow) не поставляется с .NET. Чтобы установить пространство имен System.Threading.Tasks.Dataflow в Visual Studio, откройте проект, выберите Управление пакетами NuGet в меню Проект и выполните поиск пакета System.Threading.Tasks.Dataflow в Интернете. Вы также можете установить его, выполнив в .NET Core CLI команду dotnet add package System.Threading.Tasks.Dataflow.

Дополнительные сведения см. в разделе Поток данных.