Sobes.tech
Назад к вопросам
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 передаёт управление циклу событий, который может переключаться между другими корутинами, обеспечивая асинхронность.

Таким образом, корутины позволяют писать асинхронный код, похожий на синхронный, упрощая обработку параллельных задач.