首页 > 解决方案 > 多线程时如何避免进度条出现问题

问题描述

我试图用进度条显示多线程进程,所以我使用了“ tqdm ”,这是我的代码:

from time import sleep
from tqdm import tqdm
import threading

def one():
    for i in tqdm(range(11)):
        sleep(1)
def two():
        for i in tqdm(range(11)):
            sleep(1)
def three():
        for i in tqdm(range(11)):
            sleep(1)

if __name__ == "__main__":
    t1 = threading.Thread(target=one)
    t2 = threading.Thread(target=two)
    t3 = threading.Thread(target=three)


    t1.start()
    t2.start()
    t3.start()

    t1.join()
    t2.join()
    t3.join()

在 CMD 中运行代码后,我看到了这个:

G:\>python thread2.py
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:11<00:00,  1.01s/it]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:11<00:00,  1.01s/it]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:11<00:00,  1.01s/it]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:11<00:00,  1.01s/it]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:11<00:00,  1.01s/it]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:11<00:00,  1.02s/it]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:11<00:00,  1.02s/it]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:11<00:00,  1.01s/it]
G:\>


100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11/11 [00:11<00:00,  1.02s/it]

我只想要 3 个进度条,但如您所见,有 9 个!如何避免这个问题?

标签: pythoncmdtqdm

解决方案


推荐阅读