Defining Threads
 Threading Defined
 Thread Support in .NET and C#
Threading in .NET
 System.Threading Namespace
 Lifecycle of Threads
 Why Not Thread Everything?
 Threading Opportunities
 Treading Traps
Working with Threads
 Why Worry About Synchronization?
 .NET Synchronization Support
 .NET Synchronization Strategies
 Beware of Deadlocks
 End-to-End Examples
Threading Design Principles
 Multiple Threads in Applications
 STA Threading Model
 MTA Threading Model
Scaling Threaded Applications
 What is Thread Pooling?
 The CLR and Threads
 Exploring the ThreadPool Class
 Programming the Thread Pool in C#
 Scalability in .NET
Debugging and Tracing Threads
 Creating the Application Code
 Debugging Your Code
 Code Tracing
 The DataImport Example
Networking and Threading
 Networking in .NET
 Creating the Sample Application