我正在使用多处理,并且我知道 pickle 模块实现了用于序列化和反序列化 Python 对象结构的二进制协议。
而且我还知道可以腌制哪些类型的数据,例如 Integer、List、Set 和 ...。
但是,如果我想使用其他不是 pick_able 的数据,我应该怎么做?
更准确地说,我想使用多处理来并行 ORTools 中的创建约束。打击是我的代码:
manager = Manager()
constraints = manager.list(range(16))
def constraint_saz():
"constraint's condition"
# Create the constraints
for i in range(len(data)):
constraints[i] = solver.Constraint(1,1)
p = Process(target=constraint_saz, args=(constraints,i))
p.start()
p.join()
但我得到了这个错误:
TypeError: can't pickle SwigPyObject objects
我应该怎么做才能解决这个问题?