Sobes.tech
Back to questions
Junior — Middle
66

Можете объяснить концепцию корутин в Python и их использование?

Companies where asked
Employ City

Answer from AI

sobes.tech AI

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

Основные моменты:

  • Корутины объявляются с помощью async def.
  • Для вызова корутины используется await, который приостанавливает выполнение до результата.
  • Позволяют писать код, который выглядит синхронным, но работает асинхронно.

Пример:

import asyncio

async def say_hello():
    print("Hello")
    await asyncio.sleep(1)  # имитируем асинхронную операцию
    print("World")

asyncio.run(say_hello())

В этом примере asyncio.sleep не блокирует поток, а приостанавливает корутину на 1 секунду, позволяя другим задачам выполняться.