tim.wintle at teamrubber.com
Mon Feb 9 14:47:18 CET 2009
This is my first post here - google hasn't helped much but sorry if this
has been asked before.
I've been wondering about some of the technicalities of locks in python
(2.4 and 2.5 mainly).
I'm using the "old" thread module as (1) I prefer the methods and (2) It
should be a tiny bit faster.
As far as I can see, the thread module is fairly much a direct wrapper
around "PyThread_allocate_lock" etc. - defined in
"thread_pthread.h" (took me ages to find the definitions in a header
file!), so as far as I can tell the implementation is very closely
wrapped around the system's threading implementation.
Does that mean that every python thread is actually a real separate
thread (for some reason I thought they were implemented in the
Does that also mean that there is very little extra interpreter-overhead
to using locks (assuming they very infrequently block)? Since if you use
the thread module direct the code doesn't seem to escape from C during
the acquire() etc. or am I missing something important?
More information about the Python-list