2024-04-26 09:31:33 发布
网友
我有一些doA()方法偶尔会挂起一段时间。Python和doA()中有没有通用的中断模块可以控制时间的执行? 当然,它可以通过线程实现,所以围绕线程模块的简单包装可能是很好的解决方案。在
换句话说,我想要这样的代码:
import CoolAsyncControl CoolAsyncControl.call(self.doA, timeout = 10)
只要在主线程中运行doA,就可以使用threading.Timer来调用thread.interrupt_main。请注意,您想要的语法是不可能的,因为Python(像大多数语言一样,Haskell除外)is“eager”参数是在执行调用之前完全计算的,因此self.doA()将在之前运行到完成状态,call方法有可能对此做任何事情!你必须使用一些语法,比如
doA
self.doA()
call
CoolIt.call(self.doA, args=(), timeout=100)
这样,call可以在使用给定参数执行对doA的调用之前,将计时器设置为。在
只要在主线程中运行
doA
,就可以使用threading.Timer来调用thread.interrupt_main。请注意,您想要的语法是不可能的,因为Python(像大多数语言一样,Haskell除外)is“eager”参数是在执行调用之前完全计算的,因此self.doA()
将在之前运行到完成状态,call
方法有可能对此做任何事情!你必须使用一些语法,比如这样,
call
可以在使用给定参数执行对doA
的调用之前,将计时器设置为。在相关问题 更多 >
编程相关推荐