Describes strategies to combine the Win32 synchronization primitives into more complex synchronization objects. It presents several solutions for implementing advanced synchronization objects along with a comparison of how they perform.
Discusses the limits on the maximum number of threads and processes supported on Windows. Describes the difference between a thread and a process, surveys thread limits and then investigates process limits
Focuses on several of the new thread synchronization features introduced with Windows Vista: condition variables, slim reader/writer locks, and one-time initialization.