Sobes.tech
Назад к вопросам
Junior — Middle
69

Какая компонента управляет переключением между задачами в библиотеке asyncio?

Компании, где спрашивали
СБЕР Центр ИИСБЕР Центр ИИ

Ответ от нейросети

sobes.tech AI

В библиотеке 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'), позволяя им выполняться параллельно без блокировок.