Встраивание интерпретатора Python в приложении C/C++ хорошо документируется. Что лучший подход должен выполнить несколько интерпретатор Python на нескольких потоках операционной системы (т.е. один интерпретатор на одном потоке операционной системы в рамках того же процесса), которые вызываются из приложения C/C++? Таким приложениям можно было также связать проблемы с фрагментацией памяти и ограничениями Py_Finalize ().
Один такой подход может быть следующим:
- Поток Python и следовательно GIL, отключенный в pyconfig.h для хранения этого простым (#undef WITH_THREAD)
- Все изменяемые глобальные переменные исходного кода интерпретатора Python, перемещенного в выделенную "куче" структуру, на которую ссылаются через Локальную память потока (Ссылка: Python по Телефону).
Мои вопросы:
- Есть ли какой-либо лучший подход?
- Есть ли какие-либо инструменты, которые могут автоматизировать преобразование глобальных переменных исходного кода интерпретатора Python к выделенной "куче" структуре, на которую ссылаются через TLS (Локальная память потока)?
Подобные темы обсуждены здесь:
задан bhadra 3 June 2010 в 19:16
поделиться