2010-04-02 70 views
2

我發現ruby類Timeout對我的項目非常有用。使用ruby超時類作爲後臺線程

但我需要在後臺運行的代碼塊,並保持它超時下..

例如

超時::超時(2){block.call}

如何要做到這一點?

回答

3
require 'timeout' 

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

但是,超時將在到期時拋出異常,但我猜你可以用它。