Tugurium/GTI

Glosario Terminología Informática

Global Interpreter Lock

0 GIL
La construcción del intérprete de Python (la versión más común CPython) permite que múltiples hilos de Python puedan ser concurrentes, pero no puedan ejecutarse en paralelo.
Este mecanismo, conocido como GIL es un bloqueo a nivel de intérprete, que sólo permite que un hilo tenga el control del intérprete de Python a la vez, protegiendo la memoria del intérprete y la recolección de basura. Parece que los hilos se ejecutan de forma concurrente, cuando internamente se ejecutan en serie.
El creador de Python, Guido van Rossum, dio una respuesta a la comunidad en septiembre de 2007 en su artículo "It isn"t Easy to remove the GIL":
"Pero tampoco espero que desaparezca hasta que alguien que no sea yo se esfuerce en eliminarlo, y demuestre que su eliminación no ralentiza el código Python de un solo hilo. Quiero señalar una vez más que el lenguaje no requiere el GIL -- es sólo la máquina virtual CPython la que históricamente ha sido incapaz de desprenderse de él."
2023-10-05