gpt4 book ai didi

python - 调度嵌入式python进程

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:23:55 24 4
gpt4 key购买 nike

我一直在尝试创建一个嵌入多个 Python 线程的 C++ 程序。由于程序的性质,多任务处理的优势来自于异步 I/O;但是由于需要在上下文切换之间更改一些变量,我需要控制调度。我认为由于 python 的 GIL 锁,这会很简单,但事实证明并非如此:python 想要使用 POSIX 线程而不是软件线程,我无法从文档中弄清楚如果我存储结果会发生什么PyEval_SaveThread() 并且不要在同一个函数中调用 PyEval_RestoreThread()——所以大概我不应该那样做,等等。

是否可以为嵌入式 python 线程创建自定义调度程序,或者 python 的基本设计使其无法完成?

最佳答案

事实证明,使用 PyEval_SaveThread()PyEval_RestoreThread() 是不必要的,基本上我使用协程来运行脚本并控制调度。在这种情况下来自 libPCL .然而,这并不是一个真正的解决方案,因为如果 python 遇到语法错误,如果它在协程中,它将发生段错误,奇怪的是,即使在一个协程中只有一个 python 脚本在运行,这仍然会发生。但最起码它们之间似乎并不冲突。

关于python - 调度嵌入式python进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22082025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com