Sobes.tech
Back to questions
Middle
5

Как реализована асинхронность в Python? Расскажи без глубоких деталей.

Companies where asked
ИП Ганус Александр Андреевич

Answer from AI

sobes.tech AI

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

Основная идея — использовать цикл событий (event loop), который управляет выполнением задач и переключается между ними, не блокируя поток.

Например, функция, объявленная с async def, возвращает корутину — объект, который можно приостановить и возобновить. await используется для ожидания результата другой асинхронной операции, позволяя другим задачам выполняться в это время.

Пример:

import asyncio

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

asyncio.run(say_hello())

Здесь asyncio.sleep — неблокирующая задержка, которая позволяет другим задачам выполняться, пока ждем.

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