我正在尝试使用 multiprocessing.pool,它似乎工作正常,除了整个脚本一次又一次循环......
我的代码 -
from multiprocessing import Pool
print "at top!"
arr = [30, 30, 30, 30]
def fib(num):
if num == 0 or num == 1: return 1
else: return (fib(num - 1) + fib(num - 2))
def main():
print "start"
pool = Pool(processes=4)
result = [pool.apply_async(fib, args=(arr[i],)) for i in range(4)]
pool.close()
pool.join()
for res in result:
print res.get()
print "end"
if __name__ == '__main__':
main()
print "end of program ?"
Run Code Online (Sandbox Code Playgroud)
它返回的是这个——
at top!
start
at top!
end …Run Code Online (Sandbox Code Playgroud)