如何解决从 Python C API 保存/检索 Python 模块状态
我正在使用 Python greenlets 编写我的 c 程序脚本。
脚本设置如下:
- 使用 PyModule_New() 创建新的空模块
- 使用 PyEval_GetBuiltins() 和 PyModule__Addobject() 将内置函数添加到模块中
- 使用 PyDict_Merge() 将预制的自定义脚本函数模块导入到该新模块中
- 使用 PyRun_String() 将将函数转换为协程的装饰器注入模块
- 实际脚本源从文件中加载并使用 PyRun_String() 执行
- 所有协程/greenlets 都使用 PyObject_CallMethod(g,"switch","") 在所有通过装饰器变成 greenlets 的函数上启动;
Coroutines/greenlets 现在在无限循环中运行,根据 c 程序的需要产生和继续。
我的问题是;我可以保存模块的完整状态并在稍后加载它,以便所有协程继续在它们停止的地方运行吗?我知道通过 pickle 进行序列化,但我不确定我需要序列化多少和确切的内容才能完全继续运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。