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

Объясните, что такое корутины и как они работают в контексте асинхронного программирования.

Компании, где спрашивали
БилайнБилайн

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

sobes.tech AI

Корутины — это специальные функции, которые могут приостанавливать своё выполнение и позже возобновлять его, что позволяет писать асинхронный код в более последовательном и понятном стиле. В Python корутины реализуются с помощью ключевых слов async и await.

Когда корутина вызывается, она возвращает объект корутины, который можно запустить в цикле событий (например, с помощью asyncio). При вызове await выполнение корутины приостанавливается до тех пор, пока не завершится ожидаемая операция (например, ввод-вывод), после чего выполнение продолжается.

Это позволяет эффективно использовать время ожидания, не блокируя основной поток, и писать асинхронный код, похожий на синхронный.

Пример корутины:

import asyncio

async def say_hello():
    print("Привет")
    await asyncio.sleep(1)  # имитация асинхронной операции
    print("Мир")

asyncio.run(say_hello())