需要计时的代码不能停止,如何实现计时
时间: 2024-05-09 20:20:51 浏览: 66
如果需要计时的代码不能停止,可以使用Python的多线程来实现。在主线程中开启一个计时线程,计时线程每隔一定时间更新计时器的值,然后在需要展示计时器的地方读取计时器的值即可。
以下是一个简单的示例代码:
```python
import threading
import time
class TimerThread(threading.Thread):
def __init__(self, interval):
super().__init__()
self.interval = interval
self._stop_event = threading.Event()
def run(self):
self.start_time = time.time()
while not self._stop_event.is_set():
self.elapsed_time = time.time() - self.start_time
time.sleep(self.interval)
def stop(self):
self._stop_event.set()
def get_elapsed_time(self):
return self.elapsed_time
timer_thread = TimerThread(interval=0.1)
timer_thread.start()
# 在需要展示计时器的地方读取计时器的值
while True:
print("Elapsed time: {:.2f}s".format(timer_thread.get_elapsed_time()))
time.sleep(1)
```
在上面的代码中,计时线程每隔0.1秒更新一次计时器的值,然后在主线程中每隔1秒读取一次计时器的值并展示。当需要停止计时时,调用计时线程的stop方法即可。
阅读全文