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

Что используют для I/O bound задач

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

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

  • asyncio (асинхронность) — идеально для высоконагруженных сетевых операций.
  • threading (многопоточность) — подходит для задач, где GIL не мешает (например, работа с файлами или внешними API).
  • concurrent.futures.ThreadPoolExecutor — удобная абстракция над потоками.

Пример с asyncio:

python
import asyncio

async def fetch_data(url):
    # Имитация I/O операции
    await asyncio.sleep(1)
    return f"Данные с {url}"

async def main():
    tasks = [fetch_data(f"url_{i}") for i in range(3)]
    results = await asyncio.gather(*tasks)
    print(results)

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

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

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

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