Назад к вопросам
Senior
5
Зачем нужна асинхронность в Python и как вы с ней работали?
Компании, где спрашивали
Топассимтент
Ответ от нейросети
sobes.tech AI
Асинхронность в Python нужна для эффективной работы с операциями ввода-вывода (I/O), которые могут занимать значительное время (например, сетевые запросы, чтение файлов, взаимодействие с базой данных). Вместо блокировки потока исполнения программа может продолжать выполнять другие задачи, повышая производительность и отзывчивость.
В Python асинхронность реализуется с помощью ключевых слов async и await, а также библиотеки asyncio. Например, можно запускать несколько сетевых запросов параллельно без создания множества потоков.
Пример использования asyncio:
import asyncio
async def fetch_data(delay, name):
await asyncio.sleep(delay) # имитация задержки
return f"Data from {name}"
async def main():
task1 = asyncio.create_task(fetch_data(2, 'source1'))
task2 = asyncio.create_task(fetch_data(1, 'source2'))
result1 = await task1
result2 = await task2
print(result1)
print(result2)
asyncio.run(main())
Такой подход позволяет эффективно использовать ресурсы и писать масштабируемые приложения, особенно в сетевых и высоконагруженных системах.