我正在尝试掌握Python的多进程模块,具体来说是Pool
的apply_async
方法。我试图使用参数和关键字参数调用函数。如果我不使用关键字参数调用函数,那么一切都很好。但是,当我尝试添加一个关键字参数时,我会得到以下错误消息:TypeError: apply_async() got an unexpected keyword argument 'arg2'
下面是我运行的测试代码:
#!/usr/bin/env python
import multiprocessing
from time import sleep
def test(arg1, arg2=1, arg3=2):
sleep(5)
if __name__ == '__main__':
pool = multiprocessing.Pool()
for t in range(1000):
pool.apply_async(test, t, arg2=5)
pool.close()
pool.join()
我该如何调用函数以使其接受关键字参数?