执行某些操作x秒然后退出

时间:2014-12-03 01:26:46

标签: ruby

Ruby中是否有一些块允许我在该代码中添加任何内容,比如5种方法,这需要花费不同的时间来完成。该块一旦经过5秒就应该停止在其中执行代码。我知道Timeout可以实现这样的功能,但是如果出于性能原因超时,则会更喜欢不会引发异常的东西。

1 个答案:

答案 0 :(得分: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