我目前有两个类,一个是PyQt中的类,另一个是几何引擎(计算密集型)的类。如果我将它们都放在主进程中,几何引擎将导致 QT 界面无响应。所以我想把它们分成两个进程,一个负责显示界面,另一个负责计算。 PyQt接口需要调用几何引擎类中的函数,因此它们需要进行通信。
我正在尝试编写一个库,允许代码无需修改即可迁移到子进程,但是数据传输开销太大,并且遇到了问题 TypeError: Cannot pickle 'SwigPyObject' object。我正在考虑更好的解决方案。
我认为子进程应该维护一个消息队列,但我不确定具体如何实现。
我找到了一个名为nogil的项目,我认为这可以解决我的问题。