preloader

January 1, 1 | 2 minutes read
Index of content

multitarea Estas tareas de cooperación operan de forma asíncrona; con esto queremos decir que las tareas: • son capaces de operar por separado de otras tareas, • son capaces de esperar a que otra tarea devuelva un resultado cuando sea necesario, • y, por lo tanto, pueden permitir que se ejecuten otras tareas mientras esperan. El aspecto IO (Entrada/Salida) del nombre Async IO se debe a que esta forma de El programa concurrente se adapta mejor a las tareas enlazadas de E/S. En una tarea enlazada de E/S, un programa pasa la mayor parte de su tiempo enviando datos a, o leer datos de algún tipo de dispositivo externo (por ejemplo, una base de datos o un conjunto de archivos, etc.). Esta comunicación requiere mucho tiempo y significa que el programa pasa la mayor parte de su tiempo esperando una respuesta del dispositivo externo. Una forma en que tales aplicaciones vinculadas a E/S pueden (aparentemente) acelerarse es superponer la ejecución de diferentes tareas; por lo tanto, mientras una tarea está esperando una base de datos para responder con algunos datos, otra tarea puede ser escribir datos en un archivo de registro etc. 34.3 Bucle de eventos de E/S asíncrono Cuando está desarrollando código usando las instalaciones Async IO, no necesita preocuparse por cómo funcionan los componentes internos de la biblioteca Async IO; sin embargo, al menos en el nivel conceptual es útil entender un concepto clave; el de Async IO bucle de eventos; Este bucle controla cómo y cuándo se ejecuta cada tarea. Para los fines de esta discusión, una tarea representa algún trabajo que se puede ejecutar independientemente de otras piezas de trabajo. El bucle de eventos sabe sobre cada tarea que se ejecutará y cuál es el estado de la tarea. actualmente es (por ejemplo, si está esperando que algo suceda/se complete). Él selecciona una tarea que está lista para ejecutarse de la lista de tareas disponibles y la ejecuta. Esta tarea tiene el control total de la CPU hasta que complete su trabajo o devuelve el control al bucle de eventos (por ejemplo, porque ahora debe esperar algunos datos se suministrarán desde una base de datos). El Event Loop ahora verifica para ver si cualquiera de las tareas en espera está lista para continuar ejecutándose y toma nota de su estado. Event Loop luego selecciona otra tarea que está lista para ejecutarse y la inicia. tarea desactivada. Este ciclo continúa hasta que todas las tareas han terminado. esto se ilustra abajo: 408 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