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.
Focuses on several of the new thread synchronization features introduced with Windows Vista: condition variables, slim reader/writer locks, and one-time initialization.