#concurrentinterpreters

2025-08-20

Subinterpreters в Python 3.14: альтернатива multiprocessing с честным мультикором

Привет, Хабр! В C/C++ давно принято встраивать Python в приложения для скриптовой логики и плагинов. Именно эта экосистема много лет давала повод развивать в CPython идею нескольких изолированных интерпретаторов в одном процессе. Долгое время это было только в C-API: создаёшь новый интерпретатор через Py_NewInterpreter , живёшь с одним общим GIL и кучей глобального состояния. В Python 3.12 появилось ключевое изменение — GIL стал на-интерпретатор (каждый subinterpreter со своим GIL), но доступ был только через C-API. В 3.14 подвезли полноценный высокоуровневый Python-API: модуль concurrent.interpreters и InterpreterPoolExecutor . Теперь можно писать параллельный код без multiprocessing , но с изоляцией уровня «почти процесс». Дальше разберёмся, что это такое, когда это уместно вместо multiprocessing .

habr.com/ru/companies/otus/art

#PYTHON #Python_314 #subinterpreters #InterpreterPoolExecutor #concurrentinterpreters #мультипоточность #GIL

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst