Что такое асинхронность в Python

Python Junior Без компании
Что такое асинхронность в Python
Ответы
Асинхронность в Python — это подход к выполнению задач без блокировки основного потока, позволяющий эффективно работать с I/O-операциями. Вместо ожидания завершения операции (как в синхронном коде), программа может переключиться на другие задачи. Ключевые элементы: - `async/await` — синтаксис для определения асинхронных функций - Event loop — планировщик задач - Корутины (coroutines) — специальные функции, которые могут приостанавливать выполнение Пример: ``` import asyncio async def fetch_data(): print("Начало загрузки") await asyncio.sleep(2) # Имитация I/O операции print("Данные загружены") return "результат" async def main(): task = asyncio.create_task(fetch_data()) print("Делаем что-то еще") await task # Ожидаем завершения asyncio.run(main()) ``` Преимущества: - Эффективность при работе с сетью/БД - Масштабируемость - Читаемость кода (по сравнению с callback-ами) Недостатки: - Сложность отладки - Не подходит для CPU-bound задач