I've written an extensive document on threading in C#: http://www.albahari.com/threading It started out as a chapter in a book that I'm writing, but ended up outgrowing the book! So I'm making it free and maintaining it in parallel as a separate project. Any feedback would be welcome. I'm particularly interested in comments in regard the Wait and Pulse section. I'm proposing a design pattern that makes Wait and Pulse as simple to use as an AutoResetEvent (well, almost!) Here's what's covered:
Getting Started Overview and Concepts Creating and Starting Threads Basic Synchronization Synchronization Essentials Locking and Thread Safety Interrupt and Abort Thread State Wait Handles Synchronization Contexts
Using Threads Apartments and Windows Forms BackgroundWorker ReaderWriterLock Thread Pooling Timers Local Storage
Advanced Topics Non-Blocking Synchronization Wait and Pulse Suspend and Resume Aborting Threads
Regards, Joe Albahari
|