TypeError: fp() takes at most 3 arguments (5 given)
我通过打印args和kwargs并将方法更改为进行调试,fp(*args, **kwargs)
并注意到“ bob_”作为字母数组传入。似乎括号args
是可操作的,实际上并没有给您元组。将其更改为列表,然后还numList
作为关键字参数传入,使代码对我有用。
from multiprocessing import Process, Manager
def fp(name, numList=None, what='no'):
print ('hello %s %s' % (name, what))
numList.append(name+'44')
if __name__ == '__main__':
manager = Manager()
numList = manager.list()
for i in range(10):
keywords = {'what': 'yes', 'numList': numList}
p = Process(target=fp, args=['bob'+str(i)], kwargs=keywords)
p.start()
print("Start done")
p.join()
print("Join done")
print (numList)