Description
Se analiza el funcionamiento del GIL (Global Interpreter Lock), su utilidad, bajo qué condiciones se pasa la ejecución a otro hilo, el coste que supone operar con él, tanto cuando hay un cambio de contexto como cuando no, y las valoraciones que debe hacer el desarrollador de una extensión C a la hora de decidir si una operación debe retener el GIL o no. También se verá el caso en que tu intérprete Python esté embebido en una aplicación más grande. Se analizarán varios casos, se bajará a ensamblador (o casi) y más vale que tengas ciertos conocimientos de sistemas operativos.
Se estudiará también cómo ha ido evolucionando el GIL en las diferentes versiones Python hasta llegar a donde estamos ahora.