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

Зачем нужна сопрограмма

Корутины (сопрограммы) в Python позволяют писать асинхронный код, который может приостанавливать и возобновлять выполнение. Они полезны для:

  • Эффективности ввода-вывода (I/O-bound задачи): не блокируют поток, пока ждут ответа (например, от сети или БД).
  • Кооперативной многозадачности: корутины добровольно передают управление, что легче для планировщика, чем потоки.
  • Читаемости асинхронного кода: синтаксис async/await делает код линейным, без callback hell.

Пример с asyncio:

python
import asyncio

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

async def main():
    await asyncio.gather(fetch_data(), fetch_data())  # Параллельное выполнение

asyncio.run(main())

Корутины работают в одном потоке, экономя ресурсы, но требуют поддержки библиотек (например, aiohttp для HTTP-запросов).

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

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

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

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