Напишите пример взаимодействия с event loop в Python.

Обычно event loop запускают через asyncio.run, а конкурентные корутины оформляют как Task. Управлять циклом вручную для простого приложения не требуется.

Короткий ответ

Что ответить на собеседовании

Обычно event loop запускают через asyncio.run, а конкурентные корутины оформляют как Task. Управлять циклом вручную для простого приложения не требуется.

Подробный разбор

Ответ с пояснениями

Обычно event loop запускают через asyncio.run, а конкурентные корутины оформляют как Task. Управлять циклом вручную для простого приложения не требуется.

Пример запуска двух ожиданий одновременно:

import asyncio

async def work(value):
    await asyncio.sleep(0.1)
    return value * 2

async def main():
    loop = asyncio.get_running_loop()
    started = loop.time()
    tasks = [asyncio.create_task(work(x)) for x in (1, 2)]
    result = await asyncio.gather(*tasks)
    print(result)
    print(loop.time() - started)

asyncio.run(main())

Результат — [2, 4]; время зависит от планировщика и окружения, поэтому не обещается ровно 0,1 секунды. В уже работающем loop вызывайте await main(), а не вложенный asyncio.run.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее