在Ruby中,我会使用Timeout模块,它执行一个块,如果它通过超时,它将停止执行代码。
require 'timeout'
status = Timeout::timeout(5) {
# Something that should be interrupted if it takes too much time...
}
格鲁维有这样的东西吗?
有TimedInterrupt
注释,但我还没有尝试过......
给了它一个快速测试,这个(糟糕的例子):
@groovy.transform.TimedInterrupt( 5L )
def loopy() {
int i = 0
try {
while( true ) {
i++
}
}
catch( e ) {
i
}
}
println loopy()
在时髦的控制台中运行,并在 5 秒后打印出i
。
我得到:
47314150