2010-01-27 54 views
5

在Ruby超时的代码块,我需要Ñ秒后超时的代码块的执行。我知道红宝石超时库支持超时在红宝石后N * *毫秒

http://ruby-doc.org/stdlib/libdoc/timeout/rdoc/index.html

这可能吗?

+1

我想知道如果您只是将小数传递给该方法会发生什么。 – 2010-01-27 21:10:44

+1

十进制,Craig的意思是:0.010,0.5等 – 2010-01-27 21:17:29

+3

如果你看看超时源,你会看到它只是将参数传递给Kernel#sleep,它将采用十进制:“暂停当前线程的持续时间秒(可以是任何数字,包括具有小数秒的浮点数)。“所以传递一个小数应该可以工作。 – 2010-01-27 21:19:22

回答

9

只需使用一个十进制值超时。 n毫秒示例:

Timeout::timeout(n/1000.0) { sleep(100) }