TPL Dataflow
Discuss and ask questions about TPL Dataflow (System.Threading.Tasks.Dataflow.dll) -- including usage, performance, feature request, bugs, general concepts and more.
Announcements
Installing TPL Dataflow
Stephen Toub - MSFTMicrosoft EmployeeWednesday, January 26, 2011 4:11 PMThe TPL Dataflow installer, available for download here, is a simple MSI which places a few files in a folder in your Program Files directory, e.g. "C:\Program Files (x86)\Microsoft Corporation\TPL Dataflow\".
Four files are placed in that folder during the install:
- The .NET DLL: System.Threading.Tasks.Dataflow.dll
- API documentation: System.Threading.Tasks.Dataflow.chm
- An XML comments file for IntelliSense: System.Threading.Tasks.Dataflow.xml
- An End-user License Agreement: EULA.rtf
In addition, a copy of the System.Threading.Tasks.Dataflow.dll is added to the Global Assembly Cache (GAC).
Uninstalling the MSI will remove all of these files from your system.
Welcome to the TPL Dataflow forum!
Stephen Toub - MSFTMicrosoft EmployeeWednesday, January 26, 2011 3:39 PM"TPL Dataflow" is a new .NET library for building concurrent, parallel, and asynchronous applications. It enables building systems based on dataflow concepts, on in-process message passing, and on asynchronous pipelines. This library, System.Threading.Tasks.Dataflow.dll, is heavily inspired by the Visual C++ Asynchronous Agents Library, by the CCR from Microsoft Robotics, by the Axum language, and more; it’s built on top of a multitude of constructs introduced in .NET 4, internally using types like Task and ConcurrentQueue<T>, in order to provide solutions for buffering and processing data, for building systems that need high-throughput and low-latency processing of data, and for building agent/actor-based systems. TPL Dataflow was also designed to integrate very well with the new language support for tasks, such that you can easily use TPL Dataflow constructs within asynchronous methods, and such that you can harness asynchronous methods within “dataflow blocks.”
You can download a Community Technology Preview release from the TC Labs site on MSDN DevLabs at http://msdn.microsoft.com/en-us/devlabs/gg585582. A previous preview release of the DLL is also available as part of the Microsoft Visual Studio Async CTP, available at http://msdn.com/vstudio/async.
Please use this forum to ask questions about TPL Dataflow, to provide feedback on the library, to let us know about your successes and to let us know about your stumbling blocks. We look forward to hearing from and conversing with you.
Filtering and SortingUse these options to narrow down the question and discussion list.
- 014

Parallelizing blocks that are not thread-safe
loshea 10 hours 4 minutes ago - 2130

Thread safety
Yaroslav Nosa Monday, May 21, 2012 5:11 PM - 7524

Completion of multiple ISourceBlocks
loshea Thursday, May 10, 2012 7:03 PM - 93841

BroadcastBlock with guaranteed delivery and back pressure?
IanGMVPMonday, July 25, 2011 11:16 AM - 6356

Multi-TransformBlock implementation
loshea Wednesday, May 09, 2012 4:37 PM - 5785

How to call parent child task multiple time
Shyam Maggo Friday, April 27, 2012 4:53 PM - 5456

Failed to use DataFlow in production
Eitan Revach Friday, April 27, 2012 9:24 AM - 2609

What is the effect of PropigateCompletion on a BroadcastBlock
Brad Serbu Sunday, April 22, 2012 6:12 AM - 3493

Correct use of Complete()
Brad Serbu Friday, April 20, 2012 8:00 PM - 3385

Backflow
Brad Serbu Friday, April 20, 2012 7:57 PM - 5806

Dataflow & recursion
philippe lombaers Thursday, April 12, 2012 5:44 AM - 2415

How to drop a data
Eugene Ivanchenko Monday, April 16, 2012 7:10 AM - 1409

Stopping dataflow sequence
Eugene Ivanchenko Monday, April 16, 2012 7:06 AM - 31035

Are you using TPL Dataflow? We'd love to know!
Stephen Toub - MSFTMicrosoft EmployeeWednesday, March 07, 2012 4:09 PM - 5808

Apparent BufferBlock.Post/Receive/ReceiveAsync race/bug
biggy_spender Monday, April 09, 2012 2:37 AM - 3909

Concurrency Visualizer: "Expected user stack but got another kernal stack event..."
mount77 Monday, April 02, 2012 8:48 PM - 1910

Is it possible to change the settings of the blocks after they are created?
Jeffery Zhang _ Friday, March 23, 2012 12:30 AM - 51141

How to Re-Invoke the work when one task completed within .WithAny
Chakravarthy Tuesday, March 06, 2012 7:28 AM - 44186

Block constructor overloads accepting Tasks defeat type inference
IanGMVPThursday, April 14, 2011 9:31 AM - 32119

Get back to the UI thread
Relam.pago Sunday, February 05, 2012 8:39 PM

