Встречается на собеседованиях • сегодня

В чем преимущество асинхронности

Асинхронность позволяет эффективно использовать ресурсы при работе с I/O-bound задачами (сетевыми запросами, чтением файлов и т.д.). Вместо блокировки потока на время ожидания, программа может переключиться на другие задачи. Это особенно полезно для веб-серверов, которые должны обрабатывать множество соединений одновременно.

Основные преимущества:

  • Экономия ресурсов (меньше потоков/процессов)
  • Масштабируемость (тысячи одновременных соединений)
  • Отзывчивость (не блокирует основной поток)

Пример с asyncio:

python
import asyncio

async def fetch_data():
    print("Начало загрузки")
    await asyncio.sleep(2)  # Имитация I/O операции
    print("Данные загружены")

async def main():
    task1 = asyncio.create_task(fetch_data())
    task2 = asyncio.create_task(fetch_data())
    await task1
    await task2

asyncio.run(main())

Однако для CPU-bound задач лучше использовать многопроцессорность, так как GIL в Python ограничивает параллелизм потоков.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы