Mar*_*rio 7 python python-multithreading python-2.7
我对 python 开发非常陌生,我需要每 x 秒调用一个函数。
所以我尝试使用计时器来实现这一点,例如:
def start_working_interval():
def timer_tick():
do_some_work() // need to be called on the main thread
timer = threading.Timer(10.0, timer_tick)
timer.start()
timer = threading.Timer(10.0, timer_tick)
timer.start()
Run Code Online (Sandbox Code Playgroud)
do_some_work() 方法需要在主线程上调用,我认为使用计时器会导致它在不同的线程上执行。
所以我的问题是,如何在主线程上调用这个方法?
我现在确定您想要实现什么目标,但我使用了您的代码并执行了以下操作:
import threading
import datetime
def do_some_work():
print datetime.datetime.now()
def start_working_interval():
def timer_tick():
do_some_work()
timer = threading.Timer(10.0, timer_tick)
timer.start()
timer_tick()
start_working_interval()
Run Code Online (Sandbox Code Playgroud)
所以基本上我所做的就是在timer_tick()中设置时间,这样它就会在10秒后调用自己,依此类推,但我删除了第二个计时器。