Capítulo 19. Modelos de concurrencia en Python

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

La concurrencia consiste en gestionar muchas cosas a la vez.

El paralelismo consiste en hacer muchas cosas a la vez.

No es lo mismo, pero está relacionado.

Una tiene que ver con la estructura, la otra con la ejecución.

La concurrencia proporciona una forma de estructurar una solución para resolver un problema que puede (pero no necesariamente) ser paralelizable.

Rob Pike, coinventor del lenguaje Go1

Este capítulo de trata sobre cómo hacer que Python se ocupe de "muchas cosas a la vez", lo que puede implicar programación concurrente o paralela; incluso los académicos aficionados a la jerga no se ponen de acuerdo sobre cómo utilizar esos términos. Adoptaré las definiciones informales de Rob Pike en el epígrafe de este capítulo, pero ten en cuenta que he encontrado artículos y libros que dicen tratar sobre computación paralela, pero que en su mayoría tratan sobre concurrencia.2

Paralelismo es un caso especial de concurrencia, en opinión de Pike. Todos los sistemas paralelos son concurrentes, pero no todos los sistemas concurrentes son paralelos. A principios de la década de 2000 utilizábamos máquinas mononúcleo que gestionaban 100 procesos concurrentemente en GNU Linux. Un portátil moderno con 4 núcleos de CPU ejecuta rutinariamente más de 200 procesos en un momento dado bajo un uso normal y casual. Para ejecutar 200 ...

Get Python fluido, 2ª edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.