Basic threading questions

Jason Orendorff jason at jorendorff.com
Mon Dec 31 17:15:12 EST 2001


John Lull wrote:
> I would assume that all built-in functions, and all methods of 
> all built-in types, are implemented as C functions rather than
> compiling to sequences of interpreter byte-codes.

Pretty much, yes.

> They should therefore be effectively atomic if they don't use
> blocking system services. Is that a good assumption?

Yes, mostly.  One exception:

Quite apart "blocking system services", a function that
performs long-running number-crunching might render itself
non-atomic, to give other threads a chance to run.  (I don't
think there are any examples of this in the standard library.)

> Which built-in operations are blocking should be pretty obvious 
> from either the documentation or the basic nature of the operation.

Correct.

> Are there any non-obvious blocking built-in operations?

None that I can think of.

## Jason Orendorff    http://www.jorendorff.com/




More information about the Python-list mailing list