我希望多进度条独立运作
时间: 2023-08-22 09:17:06 浏览: 40
如果您希望多个进度条独立运作,可以使用 `multiprocessing` 模块来实现多进程。以下是一个示例代码:
```python
from tqdm import tqdm
import time
from multiprocessing import Process, Queue
def progress_bar(q):
pbar = tqdm(total=100)
while True:
if not q.empty():
value = q.get()
if value == 'exit':
break
pbar.update(value)
time.sleep(0.1)
pbar.close()
if __name__ == '__main__':
q1 = Queue()
q2 = Queue()
p1 = Process(target=progress_bar, args=(q1,))
p2 = Process(target=progress_bar, args=(q2,))
p1.start()
p2.start()
for i in tqdm(range(100), desc='Process 1'):
q1.put(1)
time.sleep(0.1)
for i in tqdm(range(200), desc='Process 2'):
q2.put(2)
time.sleep(0.1)
q1.put('exit')
q2.put('exit')
p1.join()
p2.join()
```
在这个示例中,我们创建了两个进程,每个进程都运行一个独立的进度条。我们使用了 `multiprocessing.Queue` 对象来传递进度值。当进程收到 'exit' 消息时,它会停止并退出。
在运行代码时,您将会看到两个独立的进度条,表示两个进程的进度。请注意,进度条的更新速度可能会受到进程数和计算机性能的限制。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)