python线程。计时器不是在指定时间立即启动

python线程。计时器不是在指定时间立即启动,python,multithreading,Python,Multithreading,我想每3秒钟执行一个函数 如果我调用一个没有如下参数的函数,则代码可以工作: def mytempfunc(): print "this is timer!" threading.Timer(5, mytempfunc).start() 但如果我调用一个参数如下的函数: def myotherfunc(a,b,c,d): print "this is timer!" threading.Timer(5, myotherfunc(a,b,c,d)).start()

我想每3秒钟执行一个函数 如果我调用一个没有如下参数的函数,则代码可以工作:

def mytempfunc():
    print "this is timer!"
    threading.Timer(5, mytempfunc).start()
但如果我调用一个参数如下的函数:

def myotherfunc(a,b,c,d):
    print "this is timer!"
    threading.Timer(5, myotherfunc(a,b,c,d)).start()
新线程将立即创建并启动,无需等待5秒。 有什么我遗漏的吗?

试试这个:

threading.Timer(5, myotherfunc, [a,b,c,d]).start()

在代码中,您实际上调用了myotherfunc(a、b、c、d),而不是将函数和参数传递给类。

上面的选项卡不正确,第二个示例是调用mytempfunc,这似乎不正确。您可以编辑您的问题吗?选项卡仍然会关闭…注意:
Timer()
只执行一次函数。看精彩的接球。我是python新手,不明白为什么代码会这样运行。