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.
- 362

Parallelizing blocks that are not thread-safe
loshea Wednesday, May 23, 2012 2:16 PM - 2155

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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