
Johan Nilsson wrote:
Anthony Williams wrote:
http://www.microsoft.com/technet/interopmigration/unix/sfu/pthreads0.mspx
Demonstrating that it is possible to code pthreads in terms of the native Windows API, especially if you're writing a whole UNIX-interop layer, including a full POSIX C library.
[... nodding my head in violent agreement ...]
http://darwinsource.opendarwin.org/Current/Libc-391.2.5/pthreads/pthread.c Demonstrating that it's possible to code pthreads in terms of the native Mach API. And NPTL demonstrates that it's possible to code pthreads in terms of the native Linux kernel API. This is the whole point of an abstraction. The only reason we aren't using it on Windows is because Microsoft doesn't supply it. The performance arguments are a post-hoc rationalization.