python线程。计时器不是在指定时间立即启动
我想每3秒钟执行一个函数 如果我调用一个没有如下参数的函数,则代码可以工作: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()
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新手,不明白为什么代码会这样运行。