python - 如何从 C++ 启动 Python 线程?

标签 python c++ multithreading boost-python

请注意,我只能使用 Python 2.6。我有一个 Python 2.6 应用程序,它使用通过 boost-python 构建的 C++ 多线程 API 库。我的用例只是从 C++ boost 线程执行 Python 函数回调,但尽管进行了许多不同的尝试并研究了所有可用的在线资源,但我还没有找到任何可行的方法。所有提议的解决方案都围绕着函数的不同组合:Py_Initialize*PyEval_InitThreadsPyGILState_EnsurePyGILState_Release 但是在尝试了所有可能的组合之后,在实践中没有任何效果,例如

因此,这个问题是:如何从 C++ 启动和运行 Python 线程?我基本上想要:创建它,使用 Python 目标函数对象运行它,然后忘记它。

这可能吗?

最佳答案

根据您问题中的以下文字:

Run a Python thread from C++? I basically want to: create it, run it with a Python target function object and forget about it.

您可能会发现使用 sytem 简单地生成一个进程很有用:

system("python myscript.py")

如果你需要包含参数:

string args = "arg1 arg2 arg3 ... argn"
system("python myscript.py " + args)

关于python - 如何从 C++ 启动 Python 线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41246071/

相关文章:

c++ - 跨平台 C++ - 有什么理由在 _ltoa 可用时更喜欢它?

c++ - C++中如何停止线程的执行

objective-c - Objective C 线程和 GUI 更新问题

java - 使用多个并发线程执行一组测试方法

python - 在pygame中旋转一个矩形(不是图像)

Python - 返回输入行

python - Django-filter,如何进行多字段搜索? (使用 django 过滤器!)

c++ - boolean 值的最小大小是多少?

sql - .NET - 如何将 BackgroundWorker 与 CMD.executenonquery 一起使用

python - 从同一个类调用函数