我们在 python 中为 Pickler 提供了一个有趣的用例。我们正在对具有对象引用的对象进行多处理。
在这个关于酸洗成员对象的问题中,您可以看到 Pickler 使用它的备忘录来加载原始对象而不是构建新对象。有什么方法可以在没有 Pickling 的情况下使用 Pickler 及其备忘录?
使用示例:(A、B、C 都有 smart hash 和 eq)
- 主人用子对象 B 腌制对象 A 并将 A 发送到单独的进程
- 子进程返回一个 Picked 对象 C,它可能也有对象 B
- 主人解开 C 并且它足够聪明地引用 B 而不是复制
用 cpickle 做这一切怎么样?