[Python-Dev] Re: Atomic operations (original) (raw)
Brett Cannon bac@OCF.Berkeley.EDU
Sun, 9 Feb 2003 22:33:33 -0800 (PST)
- Previous message: [Python-Dev] Re: Atomic operations
- Next message: [Python-Dev] Re: Atomic operations
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Barry A. Warsaw]
>>>>> "JH" == Jeremy Hylton <jeremy@zope.com> writes: JH> There was a good paper on this subject at LL2. You can find JH> it here: http://www.cs.williams.edu/~freund/papers.html Search for "Safe Asynchronous Exceptions For Python". Nice paper. I don't much like the nested block:/unblock: construction (too much indentation), but the initially: part is nice.
Since Guido seems to have his summaries, I am going to assume the discussion ban has been lifted (if I am wrong, Guido, let me know).
So I read the paper and it is kind of what I was thinking of. I was actually thinking more along the lines of having something like::
atomic: lock() ...
with atomic basically shutting down threading temporarily until everything in its body is executed. This would basically make sure that no issues would occur with code being changed while executing from other threads. I would think this could be done by holding on to the GIL and not releasing it under any conditions until the body is executed. So with no threading occuring you can be sure that your data will not be changed in any extremely unexpected way (obviously you can write bad code that can do unexpected things, but I am going to assume you are not going to).
Now obviously this could be abused, but as the if-then-else proposal as pointed out, almost anything can be abused.
So maybe a good idea? Totally hair-brained?
-Brett
- Previous message: [Python-Dev] Re: Atomic operations
- Next message: [Python-Dev] Re: Atomic operations
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]