Concurrency in C# Cookbook : Asynchronous, Parallel, And Multithreaded Programming

Stephen Cleary
Concurrency in C# Cookbook : Asynchronous, Parallel, And Multithreaded Programming
Shop all Computer

Concurrency in C# Cookbook : Asynchronous, Parallel, And Multithreaded Programming
ISBN: 9781449367565
Publication Date: 20 June 2014

If you're one of the many developers uncertain about concurrent and multithreaded development, this practical cookbook will change your mind. With more than 75 code-rich recipes, author Stephen Cleary demonstrates parallel processing and asynchronous programming techniques, using libraries and language features in .NET 4.5 and C# 5.0.

Concurrency is becoming more common in responsive and scalable application development, but it's been extremely difficult to code. The detailed solutions in this cookbook show you how modern tools raise the level of abstraction, making concurrency much easier than before. Complete with ready-to-use code and discussions about how and why the solution works, you get recipes for using:

  • async and await for asynchronous operations
  • Parallel programming with the Task Parallel Library
  • The TPL Dataflow library for creating dataflow pipelines
  • Capabilities that Reactive Extensions build on top of LINQ
  • Unit testing with concurrent code
  • Interop scenarios for combining concurrent approaches
  • Immutable, threadsafe, and producer/consumer collections
  • Cancellation support in your concurrent code
  • Asynchronous-friendly Object-Oriented Programming
  • Thread synchronization for accessing data

About the Author

Stephen Cleary is a Christian, husband, father, and developer who makes his home in beautiful Northern Michigan. He enjoys speaking and writing, but at the end of the day he enjoys being just a regular developer. Since joining the professional ranks in 1998, Steve has acquired a great deal of experience, ranging from ARM firmware to Azure. He has contributed to open source from the very beginning, starting with the Boost C++ libraries and releasing several libraries...