System.Threading.Tasks.Dataflow Namespace

Пространство имен System.Threading.Tasks.Dataflow предоставляет модель программирования на основе субъектов и внутрипроцессную передачу сообщений для недетализированного потока данных и задач по конвейеризации. The System.Threading.Tasks.Dataflow namespace provides an actor-based programming model that supports in-process message passing for coarse-grained dataflow and pipelining tasks.

Классы

ActionBlock<TInput>

Предоставляет блок потока данных, который вызывает предоставленный делегат Action<T> для каждого полученного элемента данных.Provides a dataflow block that invokes a provided Action<T> delegate for every data element received.

BatchBlock<T>

Предоставляет блок потока данных, объединяющий вводы в массивы.Provides a dataflow block that batches inputs into arrays.

BatchedJoinBlock<T1,T2>

Предоставляет блок потока данных, включающий заданное число вводов потенциально различающихся типов, предоставляемых для одного или нескольких целевых объектов.Provides a dataflow block that batches a specified number of inputs of potentially differing types provided to one or more of its targets.

BatchedJoinBlock<T1,T2,T3>

Предоставляет блок потока данных, включающий заданное число вводов потенциально различающихся типов, предоставляемых для одного или нескольких целевых объектов.Provides a dataflow block that batches a specified number of inputs of potentially differing types provided to one or more of its targets.

BroadcastBlock<T>

Предоставляет буфер для хранения максимум одного элемента за раз. Сообщение перезаписывается следующим по мере поступления.Provides a buffer for storing at most one element at time, overwriting each message with the next as it arrives.

BufferBlock<T>

Создает буфер для хранения данных в потоке данных.Provides a buffer for storing data for a Dataflow.

DataflowBlock

Предоставляет набор статических методов (Shared в Visual Basic) для работы с блоками потоков данных.Provides a set of static (Shared in Visual Basic) methods for working with dataflow blocks.

DataflowBlockOptions

Предоставляет параметры, используемые для настройки обработки, выполняемой блоками потока данных.Provides options used to configure the processing performed by dataflow blocks.

DataflowLinkOptions

Предоставляет параметры, используемые для настройки связи между блоками потока данных.Provides options used to configure a link between dataflow blocks.

ExecutionDataflowBlockOptions

Предоставляет параметры, используемые для настройки обработки, выполняемой блоками потока данных, которые обрабатывают каждое сообщение с помощью вызова указанный пользователем делегата.Provides options used to configure the processing performed by dataflow blocks that process each message through the invocation of a user-provided delegate. Это блоки потока данных, такие как ActionBlock<TInput> и TransformBlock<TInput,TOutput>.These are dataflow blocks such as ActionBlock<TInput> and TransformBlock<TInput,TOutput>.

GroupingDataflowBlockOptions

Предоставляет параметры, используемые для настройки обработки, выполняемой блоками потока данных, которые группируют несколько сообщений.Provides options used to configure the processing performed by dataflow blocks that group together multiple messages. Эти блоки потока данных, такие как JoinBlock<T1,T2> и BatchBlock<T>.These are dataflow blocks such as JoinBlock<T1,T2> and BatchBlock<T>.

JoinBlock<T1,T2>

Предоставляет блок потока данных, объединяющий несколько источников потоков данных, необязательно одного типа, ожидая появления каждого типа, прежде чем они все совместно выпускаются как кортеж, состоящий из одного элемента каждого типа.Provides a dataflow block that joins across multiple dataflow sources, not necessarily of the same type, waiting for one item to arrive for each type before they're all released together as a tuple consisting of one item per type.

JoinBlock<T1,T2,T3>

Предоставляет блок потока данных, объединяющий несколько источников потоков данных, необязательно одного типа, ожидая появления каждого типа, прежде чем они все совместно выпускаются как кортеж, состоящий из одного элемента каждого типа.Provides a dataflow block that joins across multiple dataflow sources, which are not necessarily of the same type, waiting for one item to arrive for each type before they're all released together as a tuple that contains one item per type.

TransformBlock<TInput,TOutput>

Предоставляет блок потока данных, который вызывает предоставленный делегат Func<T,TResult> для каждого полученного элемента данных.Provides a dataflow block that invokes a provided Func<T,TResult> delegate for every data element received.

TransformManyBlock<TInput,TOutput>

Предоставляет блок потока данных, который вызывает предоставленный делегат Func<T,TResult> для каждого полученного элемента данных.Provides a dataflow block that invokes a provided Func<T,TResult> delegate for every data element received.

WriteOnceBlock<T>

Предоставляет буфер для получения и хранения не более чем одного элемента в сети блоков потока данных.Provides a buffer for receiving and storing at most one element in a network of dataflow blocks.

Структуры

DataflowMessageHeader

Предоставляет контейнер атрибутов данных для передачи между блоками потока данных.Provides a container of data attributes for passing between dataflow blocks.

Интерфейсы

IDataflowBlock

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

IPropagatorBlock<TInput,TOutput>

Представляет блок потока данных, который является и целевым объектом для данных, и источником данных.Represents a dataflow block that is both a target for data and a source of data.

IReceivableSourceBlock<TOutput>

Представляет блок потока данных, который поддерживает получение сообщений без привязывания.Represents a dataflow block that supports receiving messages without linking.

ISourceBlock<TOutput>

Представляет блок потока данных, который является источником данных.Represents a dataflow block that is a source of data.

ITargetBlock<TInput>

Представляет блок потока данных, который является целевым объектом для данных.Represents a dataflow block that is a target for data.

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

DataflowMessageStatus

Представляет состояние DataflowMessageHeader при передаче между блоками потока данных.Represents the status of a DataflowMessageHeader when passed between dataflow blocks.

Комментарии

Примечание

Библиотека потоков данных TPL (пространство имен System.Threading.Tasks.Dataflow) не поставляется с .NET.The TPL Dataflow Library (the System.Threading.Tasks.Dataflow namespace) is not distributed with .NET. Чтобы установить пространство имен System.Threading.Tasks.Dataflow в Visual Studio, откройте проект, выберите Управление пакетами NuGet в меню Проект и выполните поиск пакета System.Threading.Tasks.Dataflow в Интернете.To install the System.Threading.Tasks.Dataflow namespace in Visual Studio, open your project, choose Manage NuGet Packages from the Project menu, and search online for the System.Threading.Tasks.Dataflow package. Вы также можете установить его, выполнив в .NET Core CLI команду dotnet add package System.Threading.Tasks.Dataflow.Alternatively, to install it using the .NET Core CLI, run dotnet add package System.Threading.Tasks.Dataflow.

Дополнительные сведения см. в разделе Поток данных.For more information, see Dataflow.