El objetivo de este taller es realizar un viaje a través del mundo de la programación paralela y asíncrona en Python. El foco fundamental será en entender lo máximo posible los conceptos, los problemas y las soluciones más que las librerías en si. Comenzaremos hablando de programación paralela brevemente, explicando las diferencias entre las distintas opciones disponibles. Aprenderemos a implementar programas multi-proceso y multi-hilo con Python y analizaremos juntos las diferencias. Esto nos llevará naturalmente a hablar sobre el GIL: qué es, donde está definido, que podemos hacer al respecto....etc. Tras repasar el concepto de generador y haciendo un uso constructivista de los conocimientos adquiridos, implementaremos nuestra pequeña versión de asyncio, entendiendo las ideas fundamentales detrás del paradigma de la programación asíncrona. Finalmente analizaremos las diferencias entre todas las ideas adquiridas y hablaremos sobre distintos casos de uso.
Conocimientos recomendados para asistir al taller: