4 ms·
> Currently Python only allows certain thread interleavings, because those are the points where the GIL is released. How is this currently avoided? My understa
by needusername 5y ago
> Currently Python only allows certain thread interleavings, because those are the points where the GIL is released.
How is this currently avoided? My understanding is that anything that accepts a callback / lambda is potentially subject to interleavings as the code can call a C extension which releases the GIL. Moving code to C extensions is often recommended when Python performance is brought up. Am I misunderstanding something?
> It's also unclear how tractable it is to retain current garbage collection semantics without a GIL
Why is it important to retain current garbage collection semantics? Why does Python prescribe a certain garbage collection implementation and does not allow for others like Java?