我尝试执行Python多处理,其中Process中的参数之一是导入函数(一个numpy数组)的输出结果。但是,这给出了BrokenPipeError
。但是,如果我直接在主代码中计算数组并将其作为参数传递,则Process运行正常。
因此,代码的形式为:
from multiprocessing import Process
import personalmodule
X = personalmodule.getdata()
def someotherfunction(X):
return X
if __name__ == '__main__':
process = Process(target=someotherfunction, arg(X,))
process.start()
如果直接在此文件中获得X,则此程序可以正常工作。我已经尝试过通过X2 = np.copy(X)
之类的事情,但是似乎没有任何效果。