每n毫秒调用一个函数

每当指定数量的毫秒数时,我该如何调用功能 赛? JavaScript具有setInterval()函数,我需要类似的东西 那. 目前,我使用以下方式: def函数(): [...] t =螺纹.timer(n,函数) t.start() 功能()

# 回答1

>每当指定数量的毫秒数时,我该如何调用功能 我想这完全取决于您在做什么. 如果您不需要 其他任何东西,也不想处理线程: ###代码开始 导入时间 def runevery(msecs,function,args =(,),kwargs = {}): 而1: 函数(*args,** kwargs) time.sleep(MSECS/1000.0) ###代码结束 如果您还有其他事情要做: ###代码开始 导入时间 计时器= [time.time()] def runevery(msecs,function,args =(,),kwargs = {}): 全球计时器 如果time.time()> = timer [0]: 计时器[0] += msecs/1000.0 函数(*args,** kwargs) #call在某种形式的Mainloop中运行: 而1: asyncore.poll(1)#或类似的东西 符文(延迟,功能,args,kwargs) ###代码结束 我希望这有帮助, -Josiah
# 回答2

Vedran Furac 在消息新闻中写道: ... 您可以分配过程并使用时间. 或者您可以使用tkinter (提示:TKINTER也适用于非图形应用程序):TKINTER 小部件具有一种"后方"方法,可以执行您想要的工作. Michele Simionnato
# 回答3

在2004年2月21日星期六17:47:59 -0800,约西亚·卡尔森(Josiah Carlson) 写道: 如果您使用wxpython,则可能需要使用wxtimer, 正是您要寻找的. 如果您使用time.sleep,如上示例,并且功能采用 Deltat说,一段时间,然后您的循环实际执行 每个MSECS+Deltat. 这可能对您来说可能不是问题. dave
# 回答4

> [Vedran Furac] 有趣的是,昨天我正在寻找完全相同的事情. 我结束了 创建一个小型模块,并有些黑客实现 setInterval和Clear Interval,但可以满足我的需求: 从线程导入计时器 def setInterval(f,i, *params): def fwrapper(): 应用(f,参数) fwrapper.t =计时器(i,fwrapper) fwrapper.t.start() fwrapper.t =计时器(i,fwrapper) fwrapper.t.start() 返回fwrapper DEF CLEARINTERVAL(TIMERREF): timerref.t.cancel() 希望它对你有帮助. 乔纳斯
# 回答5

Vedran并不担心三角洲,所以我不关心自己 也是如此. -Josiah

标签: python

添加新评论