python怎么定时执行多线程任务
时间: 2023-07-04 18:21:03 浏览: 126
Python 中可以使用 `schedule` 模块和 `threading` 模块结合起来实现定时执行多线程任务的功能。下面是一个示例代码:
```python
import schedule
import time
import threading
def job():
print("Task executed at", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
def run_threaded(job_func):
job_thread = threading.Thread(target=job_func)
job_thread.start()
# 每隔 5 秒钟执行一次任务
schedule.every(5).seconds.do(run_threaded, job)
while True:
schedule.run_pending()
time.sleep(1)
```
以上代码中,`job` 函数表示需要执行的任务,在任务执行时打印当前时间。使用 `run_threaded` 函数来实现多线程执行任务。`run_threaded` 函数接收一个函数参数 `job_func`,表示需要执行的任务函数。在 `run_threaded` 函数内部创建线程并启动,然后调用 `job_func` 函数执行任务。
使用 `schedule.every(5).seconds.do(run_threaded, job)` 设置任务每隔 5 秒钟执行一次。最后在一个死循环中不断执行 `schedule.run_pending()` 检查是否需要执行任务,并且每次循环结束休眠 1 秒钟。
注意,在多线程执行任务时需要注意线程安全问题。
阅读全文