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