【发布时间】:2014-12-03 09:31:36
【问题描述】:
Ruby 中是否有一些块可以让我在该代码中放入任何内容,比如 5 个方法,这些方法需要不同的时间才能完成。该块应该在 5 秒后立即停止执行其中的代码。我知道 Timeout 可以启用类似的功能,但如果出于性能原因超时,我更喜欢不会引发异常的东西。
【问题讨论】:
标签: ruby
Ruby 中是否有一些块可以让我在该代码中放入任何内容,比如 5 个方法,这些方法需要不同的时间才能完成。该块应该在 5 秒后立即停止执行其中的代码。我知道 Timeout 可以启用类似的功能,但如果出于性能原因超时,我更喜欢不会引发异常的东西。
【问题讨论】:
标签: ruby
尝试创建Thread,然后在指定时间后killing:
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
【讨论】: