Python Russian

Python Russian 

простым языком о прекрасном языке программирования

59subscribers

78posts

Основы многопоточности в Python

Продолжая тему конкурентности и параллелизма посмотрим на старые добрые потоки.
multithreading - многопоточность, подходит для IO-bound задач, использует ОС, страдает от GIL (важно помнить)
Полезно для ускорения выполнения задач или для того, чтобы текущий поток занялся другой задачей
Любая программа это минимум один процесс и один поток
Полезно использовать daemon=True, очереди, pool exeсutor, НО в любом случае все зависит от программиста!
Плюсы:
+ просто(сравнительно)
+ быстро
+ не умирает из-за одного(!)
Минусы:
- потребление ресурсов (ОС)
- неуправляемость (старт, приостановка, переключение)
- проблемы потоков (гонка, блокировки)
Читать:
https://docs.python.org/3.10/library/threading.html#module-threading
https://docs.python.org/3.10/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor
Фаулер М. "Asyncio и конкурентное программирование на Python"
Subscription levels3

Большое спасибо

$2.59 per month
На поддержку канала и просто в знак благодарности

На новые идеи

$6.5 per month
Чтобы новые видео появлялись и для поддержки вдохновения

Show must go on...

$13 per month
На хорошее кофе и для металлу в голосе
Go up