两个坑,记录一下。
第一个坑:
Pool.map ,在jupyter notebook中可能会卡死,原因不明。
解决方法:
把被调用的函数单独写入一个py文件,然后在jupyter 中import
第二个坑:
manager 共享的对象需要作为参数传递。
(不知道是不是这样,但我测试下来,如果不作为参数传递,会报错)
比如
test.py 中
def test_share(shared_para, args):
shared_para.append('test')
return
主程序中:
from multiprocessing import Pool,Manager
import test
from functools import partial
manager= Manager()
p=Pool(processes=11)
shared_para= manager.list()
new_test= partial(test.test_share,shared_para)
p.map(new_test,dlist)
p.close()
p.join()