好的,我有以下内容:
bar
两种节点,应处理存储的一些向量。 def sendernode(out_conn, matrix, vectors):
print('sender started')
#more code
def node(in_conn, out_conn, matrix, input_length):
print('node started')
#more code
应该接收列表中的所有向量,将它们乘以矩阵并通过sendernode
发送。每个子序列out_conn
将通过node
在矩阵变换后接收向量,执行另一个矩阵变换并将其发送到下一个in_conn
。主要功能是:
node
它设置进程并将它们存储在if __name__ == '__main__':
#declarations and stuff
processlist = []
results = []
manager = Manager()
pipes = manager.list()
print('Setting up pipelines...')
for i in range(matrixnum+1):
receiver, sender = Pipe(False)
pipes.append([sender, receiver])
p = Process(target=sendernode, args=(pipes[0][0], matrices[0], vectors, ))
processlist.append(p)
for i in range(0,matrixnum-1):
p = Process(target=node, args=(pipes[i][1], pipes[i+1][0], matrices[i+1], vectornum,))
processlist.append(p)
中,指定要使用的正确管道和要与之相乘的矩阵。
processlist
这就是什么不起作用:即使我启动进程,它们似乎都没有启动,我也没有在控制台上得到它们应该 for process in processlist:
process.start()
的消息。主函数的其余部分应该总结通过最终管道发送的最终结果,并等待进程完成:
print
我做错了什么?为什么这不是启动流程?谢谢!