Home Page Icon
Home Page
Table of Contents for
cover
Close
cover
by Andrew Clymer, Richard Blewett
Pro Asynchronous Programming with .NET
Title Page
Dedication
Contents at a Glance
Contents
About the Authors
About the Technical Reviewer
Acknowledgments
CHAPTER 1: An Introduction to Asynchronous Programming
What Is Asynchronous Programming?
The Drive to Asynchrony
Mechanisms for Asynchrony
Thread Scheduling
Threads and Resources
Summary
CHAPTER 2: The Evolution of the .NET Asynchronous API
Asynchrony in the World of .NET 1.0
Changes to Async in .NET 1.1
Asynchrony in .NET 2.0
Minor Changes in .NET 3.5
Big Changes in .NET 4.0
Summary
CHAPTER 3: Tasks
What Is a Task?
Creating a Compute-Based Task
Returning Data from a Task
Error Handling
Task Relationships
Conclusion
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
Conclusion
CHAPTER 5: Concurrent Data Structures
Simplifying Thread Safety
Lazy<T>
Concurrent Collections
ConcurrentDictionary<K,V>
ConcurrentQueue<T> and ConcurrentStack<T>
ConcurrentBag<T>
Blocking Collections
Summary
CHAPTER 6: Asynchronous UI
UI Mechanics
UI Threading Model
Synchronization Context
Data Binding
WPF Dispatcher
WinRT Dispatcher
UI Timers
WPF Freezable Components
Too Much of a Good Thing
Summary
CHAPTER 7: async and await
Making Asynchronous Programming Simpler
What Do async and await Actually Do?
Summary
CHAPTER 8: Everything a Task
TaskCompletionSource<T>
Worked Example: Creating a Foreground Task
Unit Testing and Stubbing Asynchronous Methods
Building Task-Based Combinators
Summary
CHAPTER 9: Server-Side Async
Natural Parallelism
The Problem of I/O
ASP.NET WebForms
ASP.NET MVC
ASP.NET Web API
Windows Communication Foundation
Summary
CHAPTER 10: TPL Dataflow
The Building Blocks
Producer and Consumer Revisited
Linking Blocks
Shutting Down Gracefully
Glue Blocks
Asynchronous Blocks
Summary
CHAPTER 11: Parallel Programming
What Is Driving the Need for Parallelism?
Parallel Class
PLINQ
Summary
CHAPTER 12: Task Scheduling
ConcurrentExclusiveSchedulerPair
Why Write a Task Scheduler?
The TaskScheduler Abstraction
Implementing a Custom Scheduler
Unit Testing Custom Schedulers
Summary
CHAPTER 13: Debugging Async with Visual Studio
Types of Multithreading Bugs
The Limitations of Using Visual Studio for Debugging
Multithreaded Visual Studio Debugging Basics
Debugging Tasks
Summary
CHAPTER 14: Debugging Async—Beyond Visual Studio
Memory Dumps
Generating a Memory Dump
Analyzing Memory Dumps
Summary
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Title Page
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset