Multiprocessing и threading Python: задачи на Queue, Lock и остановку

Программа с несколькими воркерами должна не только обработать данные, но и завершиться без зависания. В этой практике есть остановка пула через маркеры, ограничение очереди семафором и работа с общим словарём под блокировкой. Другие задачи соединяют процесс с потоками и убирают дубли заявок. В вопросе про Queue и join разберите порядок ожиданий: кто должен продолжить работу, чтобы другой участник вообще смог закончить.

Как заниматься

6 заданий ниже можно проходить по порядку или выбирать нужную проблему. В заданиях на код есть проверка решения; в вопросах — проверка выбранного ответа. Требования к реализации и примеры приведены на страницах заданий.

Вся практика собрана в бесплатном большом задачнике по Python для разработчиков.

Смежная практика

Multiprocessing и threading Python: задачи на Queue, Lock и остановку