Inhaltsverzeichnis
asyncio.create_task(), asincio.reunir() y asincio.as_- terminado(). Estas funciones adicionales de creación de tareas se describen a continuación: • asyncio.create_task() Esta función toma una función marcada con async y lo envuelve dentro de una Tarea y lo programa para que lo ejecute el Bucle de eventos de E/S asíncrono. Esta función se agregó en Python 3.7. • asyncio.gather(*aws) Esta función ejecuta todas las funciones asíncronas pasadas como tareas separadas. Reúne los resultados de cada tarea por separado y los devuelve como una lista. El orden de los resultados corresponde al orden de los funciones asíncronas en la lista de aws. • asyncio.as_completed(aws) Ejecuta cada una de las funciones asíncronas pasadas lo. Un objeto Task admite varios métodos útiles • cancel() cancela una tarea en ejecución. Llamar a este método hará que la Tarea lanzar una excepción CancelledError. • cancelled() devuelve True si la tarea ha sido cancelada. • done() devuelve True si la tarea se completó, generó una excepción o fue cancelado. • result() devuelve el resultado de la Tarea si se ha realizado. Si el resultado de Tareas no es aún disponible, entonces el método genera la excepción InvalidStateError. •Exception() devuelve una excepción si la Tarea generó una. si la tarea fue cancelado y genera la excepción CancelledError. Si la tarea no es aún hecho, genera una excepción InvalidStateError. También es posible agregar una función de devolución de llamada para invocar una vez que la tarea se haya completado. completado (o para eliminar dicha función si se ha agregado): • add_done_callback(callback) Agrega una devolución de llamada que se ejecutará cuando el La tarea está hecha. • remove_done_callback(devolución de llamada) Elimina la devolución de llamada de la llamada- lista de espaldas. Tenga en cuenta que el método se llama ‘agregar’ en lugar de ’establecer’, lo que implica que puede haber múltiples funciones llamadas cuando la tarea se ha completado (si es necesario). El siguiente ejemplo ilustra algunos de los anteriores: trabajador asíncrono de definición (): print(’trabajador - tomará algún tiempo’) espera asyncio.sleep(1) print(’trabajador - Listo’) volver 42 def print_it(tarea): imprimir(‘imprimir_resultado:’, tarea.resultado()) importar asyncio 412 34 Concurrencia con AsyncIO
popular post
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
WeiterlesenTemas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Weiterlesen• 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.
Weiterlesen