python - 多线程时如何避免进度条出现问题
问题描述
我试图用进度条显示多线程进程,所以我使用了“ 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 个!如何避免这个问题?
解决方案
推荐阅读
- c - 以 printf 作为参数的 for 循环
- html - 图标旁边的文本没有正确对齐
- mongodb - 取消猫鼬文档上的 TTL
- mysql - MySQL LEFT JOIN 工作但很慢,当数据库被填充时,INNER 工作
- elixir - 如何配置在phoenix中重新编译
- javascript - Axios 请求中调用函数(然后)[Vuejs]
- php - laravel 关系是否足以构建一个好的数据库?
- svg - SVG - 在不知道 svg 高度的情况下让线条垂直居中
- java - 等待自动缩放开始
- php - Unable to loop through values using for - Laravel 5.6 Blade Template