Book Image

.NET 4.5 Parallel Extensions Cookbook

By : Bryan Freeman
Book Image

.NET 4.5 Parallel Extensions Cookbook

By: Bryan Freeman

Overview of this book

<p>.NET parallel extensions brings the power of parallel and asynchronous programming to a much wider developer audience than ever before. This book will give a developer with no multithreaded development experience the ability to write highly scalable parallel applications that take advantage of modern multicore processors.If you are an experienced .NET developer who wants to put parallel extensions to work in your applications, this book is for you.</p> <p>".NET 4.5 Parallel Extensions Cookbook" is a practical, hands-on guide that provides you with a number of clear step-by-step recipes that will introduce parallelism into your applications and take advantage of modern multicore processors. This book is a crash course in using the extensions, with theory and concepts kept to a minimum.</p> <p>".NET 4.5 Parallel Extensions Cookbook" offers a wide-ranging presentation of parallel development concepts, and provides a working knowledge of key technologies that are important to developers who want to take advantage of multi-core architectures.</p> <p>You will learn how to compose a series of producer/consumer tasks into a pipeline that can process data elements received from a real-time event stream. You will also learn how to connect the stages of pipelines together using the concurrent collections. You will learn everything you need to know to transform the multicore power found in modern processors into application performance and scalability.</p>
Table of Contents (16 chapters)
.NET 4.5 Parallel Extensions Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Cancelling a dataflow block


Since dataflow blocks are built on the Task infrastructure of the TPL, cancellation is supported by obtaining CancellationToken from CancellationTokenSource.

In this recipe, we will create a dataflow pipeline to download the contents of a classic book and perform a word count, except this time, we will enable the blocks that form the pipeline to be cancelled.

How to do it…

Let's see how we can add cancellation to our dataflow blocks.

  1. Start a new project using the Console Application project template and assign CancelDataflow as the Solution name.

  2. Next, go to the Solution Explorer, right-click on References, click on Manage NuGet Packages, and add a reference to the TPL Dataflow library.

  3. Open up Program.cs and add the following using directives to the top of your Program class:

    using System;
    using System.Linq;
    using System.Threading.Tasks.Dataflow;
    using System.Net;
    using System.Threading;
  4. In the Main method, create a new CancellationTokenSource object.

    var cancellationSource...