TPL Dataflow preview available for download

As mentioned here, the Visual Studio Async CTP is now available for download from http://msdn.com/vstudio/async.  Not only does this download add language support into C# and Visual Basic for writing asynchronous methods (in which you can easily “await” tasks), it also includes a new .NET library we lovingly refer to as “TPL Dataflow”, which enables building concurrent systems based on dataflow concepts, on in-process message passing, and on asynchronous pipelines.  This new 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>,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.” We’ll be discussing TPL Dataflow more in coming posts; in the meantime, for more information on this DLL, check out the whitepaper available at http://www.microsoft.com/downloads/details.aspx?FamilyID=d5b3e1f8-c672-48e8-baf8-94f05b431f5c; better yet, download the Async CTP and start playing with the bits today! (Note, too, that we’re extremely interested in your feedback, so please share any thoughts, suggestions, praises, or criticisms you may have.)