在python中使用多处理池 这就是我想要做的事情:
def do_task(data):
print "Executing: " + data
return data
def do_something(data):
print "Starting do_something"
result2 = pool.map_async(do_task, ["AA","BB"])
print "before get"
result2.get()
print "after get"
return data
def main():
pool = Pool(processes=4)
result = pool.apply_async(do_something, "A")
print result.get()
但它在输出中不起作用:
Starting do_something
before get
它一直停留在这里,do_task永远不会被调用。有人解释我为什么? 谢谢
答案 0 :(得分:0)
这是一个错字吗?不应该是result2.get()
答案 1 :(得分:0)
@ Johny19 该代码(通过删除拼写papachino指出工作正常 我想你的代码中的某个地方忘记了或者在错误的时间调用了.close()属性......