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

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

Классы

Имя Описание
ActionBlock<TInput>

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

BatchBlock<T>

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

BatchedJoinBlock<T1,T2>

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

BatchedJoinBlock<T1,T2,T3>

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

BroadcastBlock<T>

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

BufferBlock<T>

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

DataflowBlock

Предоставляет набор статических методов (общих в 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 при передаче между блоками потока данных.

Комментарии

Note

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

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