tqdm
を複数のプロセスで使用しようとしています。そしてその行動は予想通りではありません。私はポイントは、pbar
の値は、プロセスを通じて更新されないと思う。だからこの問題に対処するには?私もValue
を使用してpbar.n
を手動で更新しようとしましたが、それでも失敗しました。 tqdm
は更新値をサポートせず、手動でレンダリングするようです。pythonでtqdmをマルチプロセスで使用する方法は?
def test(lock, pbar):
for i in range(10000):
sleep(0.1)
lock.acquire()
pbar.update()
lock.release()
pbar = tqdm(total = 10000)
lock = Lock()
for i in range(5):
Process(target = test, args = (lock, pbar))
。私は、 'proc.join()'の前に 'q.put(None)'を追加して、リスナープロセスを終了することで解決できると思います。どうもありがとう。 – Sraw
@Sraw:おっと、あなたは大丈夫です。訂正してくれてありがとう。 – unutbu