Основы многопоточности в Python
Python Russian
Продолжая тему конкурентности и параллелизма посмотрим на старые добрые потоки. multithreading - многопоточность, подходит для IO-bound задач, использует ОС, страдает от GIL (важно помнить) Полезно для ускорения выполнения задач или для того, чтобы текущий поток занялся другой задачей Любая программа это минимум один процесс и один поток Полезно использовать daemon=True, очереди, pool exeсutor, НО в любом случае все зависит от программиста! Плюсы: + просто(сравнительно) + быстро + не умирает из-за одного(!) Минусы: - потребление ресурсов (ОС) - неуправляемость (старт, приостановка, переключение) - проблемы потоков (гонка, блокировки)