http://bugs.winehq.org/show_bug.cgi?id=26500
--- Comment #10 from Vladimir Voznesensky vvoznesensky@gmail.com 2011-03-22 05:14:26 CDT --- Dear Dmitry,
1. Windows uses synchronization object to prevent waiting thread to consume too much CPU cycles by giving CPU to other running thread by waiting on this object. That's MSDN doc say. Am I right?
2. Winelib does not use kernel object, so it: 2.a: Does not behave the way Windows API do; 2.b: Is suboptimal because of busy waits.
3. Linux pthread goes kernel waiting after the first futex check without spinning, but, anyway, this realization is much less suboptimal (if at all) than the Windows one.