They are not the same thing...
There are some attempts in the literature to implement ("hacked") a version of condition variables, using semaphores and other tricks. The conclusion is that it is extremely tricky and potentially dangerous.
I am not an expert on this area at all. I am interested becasue I am trying to find the best approach to make my SMP version as portable as possible. Even when I lack experience on this, I think that claiming superiority of Win32 Threads over pthreads is beyond ridiculous.
From my perspective of a newbie in parallel programming, I find the specifications of pthreads relatively clear. Every time I tried to read something about Win threads is a mess. The article claims that having everything as HANDLE is good. Really? Why is that there are many different ways to create a thread. For instance, it is recommended to create those with _beginthredex rather than CreateThread. The whole specification looks like a hack over another hack.
Miguel