J
John Nagle
Eric Raymond's "The Art of Unix Programming" sums up the threading
criticism, I think:
http://catb.org/~esr/writings/taoup/html/multiprogramchapter.html
What that really reflects is that threads came late to UNIX.
The locking primitives weren't standardized for years, signals took
a decade to settle down, interprocess message passing was weak and
still is, and some parts of the context, like the current directory,
are per-process while they should be per-thread. To this day,
threading remains an afterthought in the UNIX/Linux/C world.
This really isn't a Python topic, but if you want to see threading
and interprocess communication done right, look at QNX 6.
True message passing, well defined semantics for thread cancellation,
the ability to time out any system call that blocks, and defined
atomic operations are all there. All the thread machinery that has to
work right is well worked out and well documented.
John Nagle