Pro Asynchronous Programming with .NET teaches the essential skill of asynchronous programming in .NET. It answers critical questions in .NET application development, such as: how do I keep my program responding at all times to keep my users happy? how do I make the most of the available hardware? how can I improve performance?
In the modern world, users expect more and more from their applications and devices, and multi-core hardware has the potential to provide it. But it takes carefully crafted code to turn that potential into responsive, scalable applications.
With Pro Asynchronous Programming with .NET you will:
Meet the underlying model for asynchrony on Windows—threads.
Learn how to perform long blocking operations away from your UI thread to keep your UI responsive, then weave the results back in as seamlessly as possible.
Master the async/await model of asynchrony in .NET, which makes asynchronous programming simpler and more achievable than ever before.
Solve common problems in parallel programming with modern async techniques.
Get under the hood of your asynchronous code with debugging techniques and insights from Visual Studio and beyond.
In the past asynchronous programming was seen as an advanced skill. It's now a must for all modern developers. Pro Asynchronous Programming with .NET is your practical guide to using this important programming skill anywhere on the .NET platform.
What you'll learn
How threads make asynchrony possible in .NET
The costs and benefits of different synchronization primitives
How to make the most of the async and await keywords for easier management of asynchronous operations
How to use an asynchronous model to scale processing across multiple cores
The different demands of IO and CPU bound processing
Debugging multithreaded code effectively
Who this book is for
Pro Asynchronous Programming with .NET is for the .NET developer who wants to get more out of the platform. It's for the UI developer who finds their applications feel unresponsive. It's for the server-side developer who is struggling to scale their systems. It's for the developer who is being given more data to process and less time to do it in. Pro Asynchronous Programming with .NET is for people who want to solve problems but also understand how and why the solutions work.
Table of Contents
- Title Page
- Contents at a Glance
- About the Authors
- About the Technical Reviewer
- CHAPTER 1: An Introduction to Asynchronous Programming
- CHAPTER 2: The Evolution of the .NET Asynchronous API
- CHAPTER 3: Tasks
CHAPTER 4: Basic Thread Safety
- Asynchrony and Data
- The Interlocked Class
- Monitor: The Workhorse of .NET Synchronization
- Optimizing for Read
- A Semaphore Out of the Box
- Raising the Starting Gate: ManualResetEventSlim
- CountdownEvent: Simplifying Fork and Join
- Barrier: Rendezvous-Based Synchronization
- Crossing the AppDomain Boundary with WaitHandle
- Synchronization Is Not the Only Answer
- CHAPTER 5: Concurrent Data Structures
- CHAPTER 6: Asynchronous UI
- CHAPTER 7: async and await
- CHAPTER 8: Everything a Task
- CHAPTER 9: Server-Side Async
- CHAPTER 10: TPL Dataflow
- CHAPTER 11: Parallel Programming
- CHAPTER 12: Task Scheduling
- CHAPTER 13: Debugging Async with Visual Studio
- CHAPTER 14: Debugging Async—Beyond Visual Studio
- Title: Pro Asynchronous Programming with .NET
- Release date: December 2013
- Publisher(s): Apress
- ISBN: 9781430259206