You do know that the "P" is "Pthreads" expands out to "POSIX" which then expands to "portable", right? That Cygnus/RedHat has had a port of Pthreads to Win32 for 7 years (almost to the day) now, and it's just as complete and correct as any *NIX implementation? That Tor wants to deprecate GThread-win32 in favor of Pthread, because Pthread's implementation is more robust and correct than GThread will ever be? And that using an AsyncWorker package that requires a main loop to be running is not all that different from requiring threading inside of your library (you're just letting the equivalent of "select()" do context swapping for you instead of the kernel's scheduler, without all of the benefits of proper thread conditionals and whatnot)?
That's not to say that Tor isn't a hero, which he is. But calling the portable threads standard not-portable is dangerously incorrect. Pthread is what GThread aspires to be, and why (IMO) GThread is redundant. Pthread is the portable thread library wrapper/implementation around proprietary threading APIs. And it works properly on Win32.
