在共享内存中放置Python对象

14

是否有Python模块可以使我将非平凡用户类的实例放入共享内存中?

这意味着直接在共享内存中分配,而不是使用pickling序列化。

multiprocessing.Valuemultiprocessing.Array 对我的用例没有用,因为它们似乎只支持基本类型和数组。

到目前为止,我找到的唯一选择是POSH,但它已经八年没有更新了。这表明它可能要么是非常稳定的,要么是过时的。在投入时间尝试让它工作之前,我想知道是否还有其他我没有发现的替代品。

我只需要在Linux上运行就可以了。

1个回答

1

这有点棘手。我能想到的最好解决方案是将您的对象进行pickling并使用c_char_pmultiprocessing.sharedctypes。您仍然需要确保没有空字节进入c_char_p,可以通过转义它们或转换为十六进制来实现。

仔细想想,也许您应该选择POSH。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接