TPL Data Flow

The TPL DataFlow exposes classes to manipulate data asynchronously. It is based on the Task library and on two the interfaces ISourceBlock<T> and ITargetBlock<T>.

The available classes are:

  • BufferBlock
  • WriteOnceBlock
  • ActionBlock
  • TransformBlock, TransformManyBlock
  • BroadcastBlock
  • BatchBlock
  • JoinBlock, BatchedJoinBlock

If I understand clearly the "block" semantics in a visual point of view, I am not particularly fond of it unless used with a Builder. Messaging semantics are also used sometimes, not very clearly for my own taste. I'd better read the book I bought on asynchronous programming to try and propose better naming.

Leave a comment

Please note that we won't show your email to others, or use it for sending unwanted emails. We will only use it to render your Gravatar image and to validate you as a real person.