一.
二.进程
使用multiprocessing库:
from multiprocessing import Pool, Manager
代码模板如下:
def mycallback(task):
with open('./tmp','a+',encoding='utf-8') as f:
f.write(task)
def method(task):
return task
def get_queue():
manager=Manager()
q=manager.Queue()
for i in range(1,100):
q.put('task{}'.format(i))
return q
def main():
q=get_queue()
pool = Pool(processes=4)
'''
for task in tasks:
result=pool.apply_async(method, args=(task, ), callback=mycallback)
res=result.get() #1.没有get方法,有可能没有子进程报错信息!!2.在for内部添加此行代码,将变成顺序执行各个子进程,而不是并行执行。
建议改为以下两行代码
'''
results=[pool.apply_async(method, args=(task, ), callback=