python多进程中使用tqdm监控任务执行进度

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))

结果展示如下:

截图

 

参考文章

你可能感兴趣的:(Python总结,python,tqdm,多进程)