defapply_async(self, func, args=(), kwds={}, callback=None,
error_callback=None):'''
Asynchronous version of `apply()` method.
func:调用的函数
args:给函数传参
'''if self._state != RUN:raise ValueError("Pool not running")
result = ApplyResult(self._cache, callback, error_callback)
self._taskqueue.put(([(result._job,0, func, args, kwds)],None))return result
3、具体代码示例如下:
from multiprocessing import Pool
import datetime
defsetmycallback(x):#写入文件方法withopen('Text.csv','w')as f:
line=str(x)+'\n'
f.write(line)defcontent(num):#写入内容格式
w=[str(num),str(num+1),str(num+2)]return w
if __name__=='__main__':
start=datetime.datetime.now()
p=Pool(5)#开启进程for i inrange(100):
p.apply_async(content,(i,),callback=setmycallback)#调用进程
p.close()
p.join()
end = datetime.datetime.now()print((end - start))