preloader

January 1, 1 | 2 minutes read
Index of content

34.6 Ejecución de múltiples tareas En muchos casos es útil poder ejecutar varias tareas al mismo tiempo. Hay dos opciones proporcionadas para esto, asyncio.gather() y asyncio. función as_completed(); veremos ambos en esta sección. 34.6.1 Recopilación de resultados de varias tareas A menudo es útil recopilar todos los resultados de un conjunto de tareas y continuar sólo una vez obtenidos todos los resultados. Al usar subprocesos o procesos, este se puede lograr iniciando varios subprocesos o procesos y luego usando algunos otro objeto como una Barrera para esperar a que todos los resultados estén disponibles antes continuo. Dentro de la biblioteca Async IO todo lo que se requiere es usar el asyn- función cio.gather() con una lista de funciones asíncronas para ejecutar, por ejemplo: importar asyncio importar al azar trabajador asíncrono de definición (): print(‘Trabajador - tomará algún tiempo’) espera asyncio.sleep(1) resultado = aleatorio.randint(1,10) print(‘Trabajador - Listo’) resultado devuelto definición asíncrona hacer_algo(): print(‘hacer_algo - esperará al trabajador’)

Ejecute tres llamadas al trabajador al mismo tiempo y recopile

resultados resultados = esperar asyncio.gather(trabajador(), trabajador(), obrero()) print(‘resultados de llamadas:’, resultados) def principal() : print(‘Principal - Inicio’) asyncio.run(hacer_algo()) imprimir(‘Principal - Listo’) si nombre == ‘principal’: principal() En este programa, la función do_something() usa resultados = esperar asyncio.gather(trabajador(), trabajador(), trabajador()) para ejecutar tres invocaciones de la función worker() en tres Tareas separadas y para esperar a que los resultados de los tres estén disponibles antes de que se devuelvan como una lista de valores y almacenados en la variable de resultados. 414 34 Concurrencia con AsyncIO

comments powered by Disqus

popular post

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Read More

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Read More

• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.

Read More