4
我試圖通過多個進程使用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()'。我認爲可以通過在'proc.join()'之前添加'q.put(None)'來完成偵聽器進程。非常感謝。 – Sraw
@Sraw:哎呀,你說得很對。感謝您的更正。 – unutbu