TPL Dataflow
Asynchronous Producer Consumer With A Bounded BufferBlock
Posting to an ActionBlock and waiting for completion
Linking blocks to create a pipeline
Synchronous ProducerConsumer with BufferBlockT