Назад к вопросам
Junior — Middle
68
Объясните принцип функционирования корутин и как они управляются во время выполнения.
Ответ от нейросети
sobes.tech AI
Корутины — это функции, которые могут приостанавливать своё выполнение и позже возобновлять его, сохраняя своё состояние. В Python корутины реализуются с помощью ключевого слова async def и управляются через цикл событий (event loop).
Во время выполнения корутина может "ждать" (await) завершения асинхронной операции, освобождая управление другим задачам. Это позволяет эффективно работать с операциями ввода-вывода без блокировки потока.
Пример простой корутины:
import asyncio
async def say_hello():
print("Привет")
await asyncio.sleep(1) # приостанавливает корутину на 1 секунду
print("Мир")
asyncio.run(say_hello())
Здесь await передаёт управление циклу событий, который может переключаться между другими корутинами, обеспечивая асинхронность.
Таким образом, корутины позволяют писать асинхронный код, похожий на синхронный, упрощая обработку параллельных задач.