python多处理队列对于对象放置是否安全?

时间:2017-01-16 09:49:44

标签: python queue multiprocessing deep-copy

当我在Queue中放置一个对象时,是否需要创建对象的深层副本然后放入队列?

1 个答案:

答案 0 :(得分:1)

如果可以确保只在一个线程中处理Object,则这不是问题。但如果你不能,建议使用深层复制。

如果将对象放入其中,Queue对象不会自动执行此操作。

参见参考资料

请记住,对象需要能够被腌制(Multiprocessing Basics

  

能够使用参数生成进程以告诉它要做什么工作通常更有用。与线程不同,要将参数传递给多处理进程,必须能够使用pickle对参数进行序列化。此示例为每个worker传递一个数字,因此输出更有趣。