コードをより「Pythonic」で高速にするために、「マルチプロセッシング」とマップ関数を使用して、a) 関数と b) 反復の範囲を送信します。
埋め込まれたソリューション (つまり、範囲 tqdm.tqdm(range(0, 30)) で tqdm を直接呼び出す) は、マルチプロセッシングでは機能しません (以下のコードで定式化されているように)。
進行状況バーは 0 から 100% まで表示されますが (python がコードを読み取ったとき?)、マップ関数の実際の進行状況を示すものではありません。
「マップ」機能がどの段階にあるかを示す進行状況バーを表示する方法は?
from multiprocessing import Pool
import tqdm
import time
def _foo(my_number):
square = my_number * my_number
time.sleep(1)
return square
if __name__ == '__main__':
p = Pool(2)
r = p.map(_foo, tqdm.tqdm(range(0, 30)))
p.close()
p.join()
どんな助けや提案も大歓迎です...