Skip to Main Content
Introducción a Python, 2ª Edición
book

Introducción a Python, 2ª Edición

by Bill Lubanovic
September 2024
Intermediate to advanced content levelIntermediate to advanced
630 pages
13h 8m
Spanish
O'Reilly Media, Inc.
Book available
Content preview from Introducción a Python, 2ª Edición

Apéndice C. Algo completamente diferente: Async

Nuestros dos primeros apéndices eran para programadores principiantes, pero éste es para los que están un poco avanzados.

Como la mayoría de los lenguajes de programación, Python es síncrono. Recorre el código linealmente, una línea cada vez, de arriba abajo. Cuando llamas a una función, Python salta a su código, y el que llama espera a que la función regrese antes de reanudar lo que estaba haciendo.

Tu CPU sólo puede hacer una cosa a la vez, por lo que la ejecución sincrónica tiene mucho sentido. Pero resulta que a menudo un programa no está ejecutando realmente ningún código, sino esperando algo, como datos de un archivo o de un servicio de red. Esto es como si estuviéramos mirando fijamente la pantalla de un navegador mientras esperamos a que se cargue un sitio. Si pudiéramos evitar esta "espera ocupada", podríamos acortar el tiempo total de nuestros programas. A esto también se le llama mejorar el rendimiento.

En el Capítulo 15, viste que si querías algo de concurrencia, tus opciones incluían hilos, procesos o una solución de terceros como gevent o twisted. Pero ahora hay un número creciente de respuestas asíncronas, tanto incorporadas a Python como soluciones de terceros. Éstas coexisten con el código síncrono habitual de Python, pero, tomando prestada una advertencia de los Cazafantasmas, no puedes cruzar los flujos. Te mostraré cómo evitar cualquier efecto secundario ectoplásmico.

Coroutines y bucles de eventos

En Python ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Aprender Python, 5ª Edición

Aprender Python, 5ª Edición

Mark Lutz

Publisher Resources

ISBN: 9781098181505Supplemental Content