2014-12-03 128 views
0

Ruby中是否有某个块允许我在该代码中放置任何内容,例如5个方法,这需要花费不同的时间来完成。该块应该在5秒内立即停止执行其中的代码。我知道Timeout可以实现这样的功能,但是如果出于性能方面的考虑超时,它会更喜欢那些不会引发异常的东西。在x秒内完成某些操作,然后退出

回答

1

尝试创建一个Thread然后kill指定的时间量之后荷兰国际集团它:

t = Thread.new { 
    sleep 1 
    puts 'after 1' 
    sleep 2 
    puts 'after 2' 
    sleep 3 
    puts 'after 3' 
    sleep 4 
    puts 'after 4' 
} 

sleep 5 
t.kill 

输出:

after 1 
after 2 
相关问题