1.3Kпросмотров
80.0%от подписчиков
12 февраля 2026 г.
statsScore: 1.5K
Threading в Python 3.13 Я обычно использую joblib чтобы обходить GIL в питоне. Там есть бекэнд loky, который спавнит новые процессы, передаёт в них код функции через pickle и процесс исполняется, пока не закончится. Как заканчивается - возвращает результат в основной процесс. Новые процессы могут получить менее загруженное ядро процессора и из-за этого ускорить выполнение программы. И это применимо только если функция выполняется дольше чем создание процесса. В обратном случае это будет заметно медленее. Там есть ещё два бекэнда: трединг и мультипроцессинг. Трединг был применим только когда основной тред чего-то ждёт. Например, можно было им парсить сайты и пока скачивается что-то, мы можем кидать запросы другим тредом. Если решать compute-bound задачи, то трединг не подходил и опять же, только добавлял времени исполнения процесса из-за добавленной сложности и того факта что ядро процессора всё равно использовалось одно. Но случилось что-то и теперь я чаще пользуюсь threading. В python недавно отключили GIL и видимо можно теперь нормально пользоваться несколькими ядрами процессора. И threading настолько быстрее чем мультипроцессинг для маленьких функций, что это просто уму не постижимо. Люди, которые пишут на нормальных языках, наверно читают этот пост и хихикают, но да, у нас в питоне вот так.