The classic thread synchronization objects are Mutex, Semaphore, and Condition Variable.
Windows always has Mutex and Semaphore.
Now in Windows Vista, you can also use Condition Variable.
Using Condition Variableshttp://msdn.microsoft.com/library/en-us/dllproc/base/using_condition_variables.asp