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

結果展示如下:

截圖

 

參考文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章