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