Is there a way to protect a piece of critical code?
Hendrik van Rooyen
mail at microcorp.co.za
Wed Jan 10 11:14:08 CET 2007
I would like to do the following as one atomic operation:
1) Append an item to a list
2) Set a Boolean indicator
It would be almost like getting and holding the GIL,
to prevent a thread swap out between the two operations.
- sort of the inverted function than for which the GIL
seems to be used, which looks like "let go", get control
back via return from blocking I/O, and then "re - acquire"
Is this "reversed" usage possible?
Is there some way to prevent thread swapping?
The question arises in the context of a multi threaded
environment where the list is used as a single producer,
single consumer queue - I can solve my problem in various
ways, of which this is one, and I am curious as to if it is
possible to prevent a thread swap from inside the thread.
More information about the Python-list