Что такое асинхронность в Python и как она работает?
Answer from AI
sobes.tech AI
Асинхронность в Python — это способ организации кода, при котором операции ввода-вывода (например, сетевые запросы, чтение файлов) не блокируют выполнение программы. Вместо того, чтобы ждать завершения операции, программа может переключаться на выполнение других задач, повышая эффективность и отзывчивость.
В Python асинхронность реализована через ключевые слова async и await, а также через цикл событий (event loop) из модуля asyncio. Функции, объявленные с async def, возвращают корутины — объекты, которые можно приостанавливать и возобновлять.
Пример:
import asyncio
async def fetch_data():
print('Начинаю загрузку')
await asyncio.sleep(2) # имитация асинхронной операции
print('Данные загружены')
async def main():
await asyncio.gather(fetch_data(), fetch_data())
asyncio.run(main())
Здесь asyncio.sleep не блокирует поток, а позволяет выполнять другие задачи, пока "спит". Таким образом, асинхронность позволяет эффективно использовать ресурсы при работе с большим числом операций ввода-вывода.