tqdm可以很好的显示程序中任务进度情况。在目前的工作中遇到需要使用多进程把for循环改写成多进程来执行。一般来说任务处理时间都是比较长的,需要有个进度显示器来观测,任务进行的怎么样了。这个时候就需要tqdm模块来工作了,但是多进程下怎么实现,这个就需要调用特定的函数了,为此做一个记录,方便以后复习。
直接上代码,需要调用Pool.imap() 和tqdm.tqdm(total,desc)
from multiprocessing import Pool
t1 = time.time()
params = []
for index in range(len(project)):
params.append((index, project, patent, wmd_model))
with Pool(12) as p:
res=list(tqdm(p.imap(function,params),total=len(params),desc='多进程计算相似度,得出匹配结果:'))
p.close()
p.join()
t2 = time.time()
print('耗时:', (t2 - t1))
结果展示如下: