C++ 与boost::python并行运行两个python脚本

C++ 与boost::python并行运行两个python脚本,c++,parallel-processing,boost-python,cpython,C++,Parallel Processing,Boost Python,Cpython,我的(游戏)应用程序在使用Boost.Python编写脚本时遇到了问题。我有一个客户端线程和一个服务器线程,如果您不连接到外部服务器,它们在同一个进程中运行 这就是我的问题所在:Python解释器似乎无法在客户端线程中与服务器线程中的脚本并行执行脚本,因为它会导致应用程序崩溃 所以我的问题是:有没有可能在Python解释器中并行运行两个(或更多)脚本? 我搜索了一整天,发现了很多关于Py_NewTranslator的信息,但这并不能解决我的问题,因为它使用GIL,我不希望解释器锁定其他脚本的执行

我的(游戏)应用程序在使用Boost.Python编写脚本时遇到了问题。我有一个客户端线程和一个服务器线程,如果您不连接到外部服务器,它们在同一个进程中运行

这就是我的问题所在:Python解释器似乎无法在客户端线程中与服务器线程中的脚本并行执行脚本,因为它会导致应用程序崩溃

所以我的问题是:有没有可能在Python解释器中并行运行两个(或更多)脚本?
我搜索了一整天,发现了很多关于Py_NewTranslator的信息,但这并不能解决我的问题,因为它使用GIL,我不希望解释器锁定其他脚本的执行,因为这会导致客户端和/或服务器端的延迟。

从今天起,在同一进程中使用python线程时,无法避免GIL交互

您可能想看看
多处理
模块,该模块旨在轻松生成Python进程,从而不与
GIL
交互


另一个选项是在包装的C/C++函数中不需要GIL时显式释放它。这可以通过使用
PyEval\u SaveThread
PyEval\u RestoreThread
函数来完成。

这里有关于GIL Tiwtiling的详细信息