存储在多处理中的值与原始值不同

时间:2016-03-21 23:32:14

标签: multiprocessing ctypes

我试图在多处理类Value中存储一个bytes对象,但我发现实际存储的值和我想要存储的值是不同的。例如,以下代码的计算结果为False。

import ctypes
import dill
import multiprocessing as mp
x = [{str(i):i} for i in range(10)]

y = dill.dumps(x)

serialized_workbook = mp.Value(ctypes.c_char_p, dill.dumps(None))
serialized_workbook.value = y
serialized_workbook.value ==  y

为什么会发生这种情况,如何防止它发生?我想这样做的原因是我以后可以再加载它。

dill.loads(serialized_workbook.value)

上述代码失败,而下面的代码没有。

dill.loads(y)

0 个答案:

没有答案