运行Python脚本同时嵌入C
Run python scripts concurrently embedded in C++
可以运行脚本即可。使用pyrun_simplefile()在单独的C 线程中同时运行?
我怀疑否是因为吉尔。但是,如果有任何技巧使它成为可能。
最好的问候jakob
您可以同时运行它们,但是GIL可防止它们并行运行,并充分利用您的多个CPU内核。如果您主要派遣其他长时间运行的C /CUDA代码,该代码再次发布GIL,并且只有几个CPU,则这可能足够好。
这将是子解释者采取的方法,多个仅共享某些部分的独立python口译员,但可悲的是,这包括GIL,因此对并行处理没有任何好处,并且仅在同时运行之间进行隔离的小好处脚本。这种方法的一个例子是mod_wsgi。
sub口译器是很少使用的功能,因此可以期待不期望它们的C扩展中的怪异错误/竞赛条件。
如果您说C#或Java而不是C ,则可以使用Ironpython或Jython来实现您的目标,因为这些目标没有GIL。
使用cpython,您只能安全地完成多处理。多处理模量避开了GIL的设计问题,只是启动了一个额外的过程,但是如果您拥有昂贵的共享内存结构,并且没有fork()Syscall,则无法交付。
当然,如果您开始攻击Python实现本身,则可以将所有全球状态隔离到较小的环境中。但是,如果这样做,您不妨使用专为此多线程嵌入用户酶(例如Tcl
(查看Naviserver或f5s irules))或Lua
的语言。
相关文章:
- 如何在c++中使用system()来运行包含空格的python脚本
- 如何将真正的字符串从python c-api转换为python脚本
- 在从Qt调用的Python脚本中导入OpenCV崩溃
- 使用 Main() 返回值作为 python 脚本的参数
- 如何制作启动 Python 脚本的 linux 后台进程(在 c 中)
- 从Raspberry Pi / Linux上的Python脚本运行和停止C++程序
- C++ Python 并不总是执行 Python 脚本
- 从C++调用 Python 脚本以持续流式传输数据
- 将数据从 c++ 文件连续发送到 Python 脚本以进行进一步处理
- 错误,在嵌入在C++程序中的 python 脚本中使用 matplotlib 时
- 在使用PyInstaller冻结Python脚本时包含一个C++可执行文件
- 使用 pipe() 和 fdopen() 将数据从 Python 脚本传递到 Windows 中的C++应用程序
- Python 脚本到 c .obj 文件
- 从 c++ 运行 python 脚本时出现问题
- C++ :从C++脚本内部触发存储在我机器上的 python 脚本
- 从 c++ 中运行 python 脚本,找不到模块
- 参数从 Python 脚本传递到 C++ 使用 boost-python
- 无法从Linux,C ++执行"my_script" python脚本"main(filename)"功能;pModule = PyImport_Import(pName);返回空值
- 如何在C ++(qt)代码中使用python脚本?(网页抓取方面)
- 将对象从 python 脚本传递给 c++