我想在python中使用最平凡的并行性示例,我无法理解如何从multiprocessing
文档中做到这一点。
以下是一些示例玩具代码,显示了我想要做的事情。
import igraph
n = 10
g = igraph.Graph()
g.add_vertices(n)
h= igraph.Graph()
h.add_vertices(n)
[add some nodes and edges to g and h]
print "h omega is ", h.omega()
print "g alpha is", g.alpha()
我希望最后两行并行运行,因为我有多个核心并且需要很长时间才能运行。每个人只输出一个整数,我不关心我得到结果的顺序。
有没有一种简单的方法来做这个python?
答案 0 :(得分:2)
假设omega()和alpha()是不改变环境状态的纯函数,您可以为每个调用启动两个单独的进程。这些流程将并行运行。
p1=multiprocessing.Process(target=lambda x: print x.omega(), args=(h,))
p2=multiprocessing.Process(target=lambda y: print y.alpha(), args=(g,))
p1.start()
p2.start()