如何用 Python 实现间隔执行任务而不影响其他任务?
python 间隔执行任务而不影响其它任务
python 中计时并让任务以间隔时间运行,又不影响其它任务,可以通过多线程实现。以下是如何用 threading 和 time 模块来完成:
方案一:有时间间隔代码放到线程
将有时间间隔的任务放到单独线程中执行,从而不影响主线程。代码如下:
import time import threading class threading0(threading.thread): def __init__(self): threading.thread.__init__(self) def run(self): while true: # 条件自定,不能为空。 # 执行等待任务(时间不超过1秒,超过1秒可从sleep中减去)。 time.sleep(60) # 单位:秒 threading0().start() while true: # 条件自定,不能为空。 # 执行不等待任务
方案二:无时间间隔代码放到线程
与方案一类似,将无时间间隔的任务放到单独线程中执行。代码如下:
import time import threading class threading0(threading.thread): def __init__(self): threading.thread.__init__(self) def run(self): while true: # 条件自定,不能为空。 # 执行不等待任务 threading0().start() while true: # 条件自定,不能为空。 # 执行等待任务(时间不超过1秒,超过1秒可从sleep中减去)。 time.sleep(60) # 单位:秒
方案三:有时间间隔代码和无时间间隔代码统统放到线程
如果既有时间间隔的任务,又有无时间间隔的任务,可以将它们都放到各自的线程中执行。代码如下:
import time import threading class threading0(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): while True: # 条件自定,不能为空。 # 执行不等待任务 class threading1(threading.Thread): def __init__(self): threading.Thread._init__(self) def run(self): while True: # 条件自定,不能为空。 # 执行等待任务(时间不超过1秒,超过1秒可从sleep中减去)。 time.sleep(60) # 单位:秒 t0 = threading0() t1 = threading1() t0.start() t1.start() # 下面的代码可要可不要,只是用于等待线程运行完毕,如果是死循环,那么就可以不写下面的代码。 t1.join() t2.join() # 执行线程结束后需要运行的代码。(不用运行代码的就当我没说)
以上就是如何用 Python 实现间隔执行任务而不影响其他任务?的详细内容,更多请关注其它相关文章!