Hacker News new | ask | show | jobs
by enjoy-your-stay 1377 days ago
WaitForMultipleObjects (been in Win32 forever) is not really related to IO completion Ports, whose API came a lot later.

My understanding is that condition variables were designed to be a superior alternative to Windows Event objects.

I'm glad to read here that others find them fiddly and overly awkward to use since that was also my impression vs the consistent and usually easy to use Windows thread synchronization HANDLE based objects. Dave Cutler definitely did a good job there IMHO.

1 comments

Condition variables predate Windows and its predecessor VMS by many years (they do not predate unix itself but certainly they predate pthreads by decades).

In particular pthreads borrowed them from Mesa, but they originally were part of the monitor abstraction designed by Hoare.

So they weren't designed to be a superior alternative to windows events; they might be considered an alternative to events in general but I couldn't easily find any history of the events abstraction.