Python多处理最小跨度树 - 整个程序循环

时间:2014-01-08 11:57:51

标签: python loops multiprocessing

我正在尝试在Python中使用多处理来加速大量数据的最小生成树算法。树正在使用 Prim的方法。总之,我有一个程序,为每个类别创建一个加权矩阵,然后进入例程来制作最小跨度树,在这个例程中我有这个代码

 if __name__=='__main__':
        m=Manager()
        q=Queue()
        #wt=partial(_lightest_edge_weight, graph=graph, visited=visited)
        p=Pool()
        #go to each visited edge
        for each in visited:
            q.put(each)
        q.put('DONE')
        #set up multiprocessing for edges in queue
        p.apply_async(target=_lightest_edge_weight, args=(graph,visited,q,))

但是,每当我这样做时(我也尝试使用Process plus启动和加入),打开的新进程将重新启动整个程序,而不是仅针对_lightest_edge_weight运行队列中的项目。整个程序循环而不仅仅是目标子程序时的任何想法?感谢。

0 个答案:

没有答案