我正在使用 Python 和 PyGTK。我对运行某个函数感兴趣,该函数每隔几分钟从串行端口获取数据并保存它。
目前,我正在使用时间库中的 sleep() 函数。为了能够进行处理,我的系统设置如下:
import time
waittime = 300 # 5 minutes
while(1):
time1 = time.time()
readserial() # Read data from serial port
processing() # Do stuff with serial data, including dumping it to a file
time2 = time.time()
processingtime = time2 - time1
sleeptime = waittime - processingtime
time.sleep(sleeptime)
此设置允许我在从串行端口读取数据之间有 5 分钟的间隔。我的问题是我希望能够让我的 readserial() 函数每 5 分钟暂停一次正在发生的事情,并且能够一直做事情而不是使用 time.sleep() 函数。
关于如何解决这个问题的任何建议?多线程?中断?请记住,我使用的是 python。
谢谢。