Sobes.tech
Назад к вопросам
Junior — Middle
74

Можешь перечислить компоненты и объекты, реализующие асинхронность в Python?

Компании, где спрашивали
ООО Цитадель

Ответ от нейросети

sobes.tech AI

В Python асинхронность реализуется с помощью нескольких ключевых компонентов:

  • Ключевые слова async и await для объявления и вызова асинхронных функций (корутин).
  • Модуль asyncio — основной фреймворк для написания асинхронного кода, содержит цикл событий (event loop), задачи (Task), корутины и синхронизаторы.
  • Объекты Future — представляют результат асинхронной операции, который будет доступен в будущем.
  • Классы и функции для работы с асинхронным вводом-выводом, например, asyncio.StreamReader и asyncio.StreamWriter.
  • Асинхронные генераторы и контекстные менеджеры для удобной работы с потоками данных и ресурсами.

Пример простой асинхронной функции с использованием asyncio:

import asyncio

async def say_hello():
    await asyncio.sleep(1)
    print("Hello after 1 second")

async def main():
    await say_hello()

asyncio.run(main())

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