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 .
https://habr.com/ru/companies/otus/articles/938292/
#PYTHON #Python_314 #subinterpreters #InterpreterPoolExecutor #concurrentinterpreters #мультипоточность #GIL