Сопоставление Middle GIL, потоки и процессы обновлено

Задача и подходящий инструмент

Вопрос

Сопоставьте задачу и инструмент, который подходит лучше всего.

Попробуйте сами

Нажмите слева, потом подходящее справа.

Показать ответ и разбор

Коротко

Потоки для синхронного I/O, процессы для CPU-bound кода, asyncio для массы ожидающих соединений. Семафор ограничивает параллелизм, очередь связывает производителей и потребителей.

Правильные пары

Параллельно вызвать 50 синхронных HTTP-API
ThreadPoolExecutor
Посчитать тяжёлую математику на чистом Python на 8 ядрах
ProcessPoolExecutor
Держать 20 000 открытых соединений чата
asyncio
Ограничить число одновременных обращений к ресурсу
Semaphore
Передавать задачи от производителя потребителям
queue.Queue

Разбор

Потоки для синхронного I/O, процессы для CPU-bound кода, asyncio для массы ожидающих соединений. Семафор ограничивает параллелизм, очередь связывает производителей и потребителей.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.