python 实时获取子线程运行进度
时间: 2024-01-16 08:05:19 浏览: 88
python支持断点续传的多线程下载示例
在 Python 中,可以通过 `threading` 模块创建子线程,实时获取子线程运行进度可以通过以下方式实现:
1. 创建一个共享的进度变量,子线程通过修改该变量来反映进度变化。
2. 在主线程中定时读取该进度变量的值,并输出进度信息。
下面是一个示例代码:
```python
import threading
import time
class MyThread(threading.Thread):
def __init__(self, progress):
super().__init__()
self.progress = progress
def run(self):
for i in range(1, 11):
self.progress[0] = i * 10
time.sleep(1)
if __name__ == '__main__':
progress = [0] # 进度变量,共享给子线程
thread = MyThread(progress)
thread.start()
while True:
print(f'进度:{progress[0]}%')
if progress[0] == 100:
break
time.sleep(0.5)
thread.join()
```
在上面的示例中,子线程 `MyThread` 接收一个进度变量 `progress`,每次循环将进度值修改为当前循环次数乘以 10,然后休眠 1 秒;主线程定时读取进度变量的值,并输出进度信息,直到进度值为 100 时退出循环。
阅读全文