Synopses & Reviews
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 its 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
Concurrency is essential for creating fast apps and optimized systems software today. With this cookbook, you will find recipes for writing asynchronous, parallel, and reactive code in C# that enables your app or program to engage in more than one process at a time. Presented in OReillys popular problem-solution-discussion cookbook format, this guide provides ready-to-use code, along with an explanation of why and how the solution works.
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 and utilities of his own.