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