Using the proper synchronization objects is very important on multithreaded applications, and the Win32 api offers a plethora of sync objects you can use. However, using them is not always straightforward, and there are too many apis to keep track of. To simplify their use in my personal development, I created a few synchornization classes that wrap the most common objects: Events, Mutexes, Semaphores and Critical Sections. Also, there’s a nice template that’s very useful when you are working with events and critical sections.
Grab the file here: winterdom_cpp.zip