Назад к вопросам
Билайн
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())