Concurrencia en Python: Mutex, Hilos, GIL, Semáforos, Eventos, Pools y Corrutinas

Bloqueo Mutuo (Mutex) – Implementación Práctica Un mutex (bloqueo mutuo) garantiza que solo un hilo acceda a los datos compartidos en un momento dado. Los hilos comptien por el bloqueo; el que lo obtiene ejecuta el código crítico, y los demás esperan hasta que se libere. from multiprocessing import Process, Lock import time import json impo ...

Publicado el 7-11 01:00

Compartición de Datos, Bloqueo GIL e Hilos en Python

Compartición de Datos from multiprocessing import Process, Lock, Manager def modificar_contador(contador, candado): with candado: contador['valor'] -= 1 if __name__ == '__main__': with Manager() as administrador: candado = Lock() contador_compartido = administrador.dict({'valor': 10}) procesos = [] ...

Publicado el 6-25 19:05

Bloqueos de Exclusión Mutua, Interbloqueos y el Cerradura Global del Intérprete (GIL)

En sistemas concurrentes, los bloqueos de exclusión mutua son fundamentales para garantizar la integridad de los recursos compartidos. Por ejemplo, en un entorno donde múltiples procesos acceden a una reserva compartida, se requiere un mecanismo para evitar condciiones de carrera al modificar los datos. Bloqueos de Exclusión Mutua Un bloqueo de ...

Publicado el 6-19 18:20

Comprendiendo el Global Interpreter Lock en Python

El Global Interpreter Lock (GIL) es un mecanismo en la implementación CPython que gestiona el acceso a los objetos de Python. Es fundamental entender que el GIL no es una característica del lenguaje Python, sino una decisión de diseño en CPython. Otras implementaciones como Jython o PyPy no incluyen este mecanismo. ''' Definición técnica: En CP ...

Publicado el 6-13 21:40