python threading.Timer不在指定时间立即启动

我想每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秒钟。有什么我想念的吗?


幕布斯7119047
浏览 371回答 1
1回答

胡子哥哥

试试这个:threading.Timer(5, myotherfunc, [a,b,c,d]).start()在代码中,实际上是调用myotherfunc(a,b,c,d),而不是将函数和参数传递给Timer类。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python