No huyas si eres un estudiante de Python, porque este artículo pretende utilizar la forma más sencilla de explicarte qué es GIL. Por supuesto, hay que empezar explicando qué son los hilos y los procesos. No te preocupes, haré todo lo posible para que sea fácil para todos, aunque sacrifica cierta precisión en la definición.
Ahora deberíamos empezar.
Algunos conceptos
El subproceso múltiple es una de las técnicas de programación más comunes, que también existe en Python.
Nos permite ejecutar múltiples operaciones simultáneamente. Por lo general, los subprocesos múltiples pueden generar una mayor eficiencia en el uso de la CPU. Además, la mayoría de las tareas de E/S pueden beneficiarse de la ejecución simultánea de subprocesos.
Por favor, no se confunda con los conceptos “proceso” y “hilo”. Un proceso tendrá cierta memoria asignada y estará completamente aislado de otros procesos en un sistema operativo. Por lo tanto, un programa bloqueado en nuestro sistema operativo normalmente no afectará a los demás.
A proceso puede tener múltiples hilos ejecutándose bajo él, compartiendo muchos de los mismos recursos como la memoria. Por lo tanto, un hilo aplastado hará que todo el proceso se aplaste. Debido a que los subprocesos comparten memoria entre sí, también pueden crear problemas en el proceso. Lo demostraré más tarde.
Ejemplo de código
Ahora, veamos cómo escribir código Python con la técnica de subprocesos múltiples.
En primer lugar, importemos el threading módulo integrado en Python.
import threading
Para poder probar el subproceso múltiple, definamos una función que sea bastante simple pero que llevará algo de tiempo.
def compute()…