Sobes.tech
Back to questions
Junior — Middle
49

Можете объяснить, что такое корутины в библиотеке Asyncio для асинхронного программирования?

Companies where asked
Институт человека РОМИР
Effective Mobile

Answer from AI

sobes.tech AI

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

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

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

import asyncio

async def say_hello():
    print('Привет')
    await asyncio.sleep(1)  # приостанавливает корутину на 1 секунду
    print('Мир')

asyncio.run(say_hello())

Здесь asyncio.sleep — это асинхронная задержка, которая не блокирует выполнение других корутин в цикле событий. Таким образом, корутины позволяют писать асинхронный код, который выглядит как последовательный, но при этом эффективно использует время ожидания.