[Python-ideas] The future of Python parallelism. The GIL. Subinterpreters. Actors.

Eric Snow ericsnowcurrently at gmail.com
Tue Jul 17 16:00:28 EDT 2018


On Tue, Jul 17, 2018 at 1:44 PM Barry <barry at barrys-emacs.org> wrote:
> The decrement itself is not the problem, that can be made thread safe.

Yeah, by using the GIL. <wink>  Otherwise, please elaborate.  My
understanding is that if the decrement itself were not the problem
then we'd have gotten rid of the GIL already.

> Do you mean that once the ref reaches 0 you have to make the delete happen on the original interpreter?

Yep.  For one thing, GC can trigger __del__, which can do anything,
including modifying other objects from the original interpreter (incl.
decref'ing them).  __del__ should be run under the original
interpreter.  For another thing, during GC containers often decref
their items.  Also, separating the GIL between interpreters may mean
we'll need an allocator per interpreter.  In that case the
deallocation must happen relative to the interpreter where the object
was allocated.

-eric


More information about the Python-ideas mailing list