Sobes.tech
Junior — Middle

Qual componente controla a troca entre tarefas na biblioteca asyncio?

sobes.tech IA

Resposta da IA

В библиотеке asyncio в Python переключением между задачами управляет цикл событий (event loop). Это центральный компонент, который планирует, запускает и переключает выполнение асинхронных задач (корутин).

Event loop отслеживает, когда задачи готовы к выполнению (например, когда завершена операция ввода-вывода), и переключается между ними, обеспечивая асинхронное и неблокирующее выполнение.

Пример использования event loop:

import asyncio

async def task(name):
    print(f"Задача {name} стартовала")
    await asyncio.sleep(1)
    print(f"Задача {name} завершена")

async def main():
    await asyncio.gather(task('A'), task('B'))

asyncio.run(main())

Здесь event loop управляет переключением между задачами task('A') и task('B'), позволяя им выполняться параллельно без блокировок.