python,从计时器回调调用主线程上的方法

2024-01-30

我对 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()  

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()

所以基本上我所做的就是在timer_tick()中设置时间,这样它就会在10秒后调用自己,依此类推,但我删除了第二个计时器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python,从计时器回调调用主线程上的方法 的相关文章

随机推荐