Ruby 执行某些操作x秒,然后退出
Ruby中是否有一些块允许我在代码中放入任何东西,比如说5个方法,它们需要花费不同的时间来完成。一旦5秒过去,块应该停止执行其内部的代码。我知道Timeout会启用类似的功能,但我更喜欢在超时由于性能原因而通过时不会引发异常的功能。尝试创建Ruby 执行某些操作x秒,然后退出,ruby,Ruby,Ruby中是否有一些块允许我在代码中放入任何东西,比如说5个方法,它们需要花费不同的时间来完成。一旦5秒过去,块应该停止执行其内部的代码。我知道Timeout会启用类似的功能,但我更喜欢在超时由于性能原因而通过时不会引发异常的功能。尝试创建线程,然后在指定的时间后杀死它: t = Thread.new { sleep 1 puts 'after 1' sleep 2 puts 'after 2' sleep 3 puts 'after 3' sleep 4 put
线程,然后在指定的时间后杀死它:
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