首页 > 解决方案 > 有没有一种解决方案可以让您在线程中每隔指定的秒数执行一项任务而不让它进入睡眠状态?

问题描述

就像在 questien 中一样,有没有一种解决方案可以让您在线程中每隔指定的秒数执行一项任务,而不会让它在 python 中进入睡眠状态?

标签: pythonmultithreadingsleep

解决方案


以下代码每 30 秒运行一次 thread1:

import threading

def thread1:
    pass
    L1.acquire()


if "__name__" == "__main__":
    specific_time = 30
    t1 = threading.Thread(target=thread1)
    L1 = threading.Lock(blocking=True)
    t1.start()
    init_time  = time.time()
    while 1:
        if (time.time() - init_time) >= specific_time:
            L1.release()
            init_time = time.time()

推荐阅读