使用ruby Timeout类作为后台线程

时间:2010-04-02 15:32:12

标签: ruby

我发现ruby class Timeout对我的项目非常有用。

但我需要在后台运行一段代码并将其保持在超时状态..

例如

Timeout :: timeout(2){block.call}

怎么做?

1 个答案:

答案 0 :(得分:3)

require 'timeout'

t = Thread.new {
  Timeout.timeout(5) {
    while(true) do
      puts 'a'
      sleep 1
    end
  }
}
t.join

然而,Timeout会在到期时抛出异常,但我猜你没问题。