Inside the Python’s GIL

This is a slightly dated (2009) but very informative talk from David Beazley about threading in Python and the Global Interpreter Lock.

Some topics include:

  • details of how threads are implemented in python and where the GIL arises from and how it works. I found this very enlightening, specially given how little details the documentation gives about it.
  • signal handling and pathological aspects of its relation to running threads.
  • python’s reliance on the OS to deal with thread scheduling.

Very interesting.