Конкуренция в Python: потоки, процессы и asyncio — что выбрать?
Современное программирование всё чаще сталкивается с задачей обработки большого количества операций одновременно. От написания веб-приложений до работы с большими данными — конкурентность играет ключевую роль. Python, несмотря на ограничения Global Interpreter Lock (GIL - глобальная блокировка интерпретатора), предлагает три мощных подхода к организации конкуренции: потоки, процессы и asyncio. Разберёмся, что это такое, как это работает и где лучше применять каждую из технологий. Конкурентность позволяет программе выполнять несколько задач одновременно...
414 читали · 5 лет назад
Давайте синхронизировать потоки в Python
Для меня это был волшебный момент, внезапный инсайт, когда я впервые узнал о многопоточности. Меня восхитила сама возможность параллельного выполнения действий, (хотя важно заметить, что на компьютере с одноядерным процессором вычисления выполняются не строго параллельно, причем вычисления в Python распараллеливаются частично из-за наличия GIL-концепции ‑ способа синхронизации потоков в Python. Многопоточность открывает новые возможности для вычислений, но вслед за могуществом приходит и ответственность...