【问题标题】:Do certain operations for x seconds and then exit执行某些操作 x 秒然后退出
【发布时间】:2014-12-03 09:31:36
【问题描述】:

Ruby 中是否有一些块可以让我在该代码中放入任何内容,比如 5 个方法,这些方法需要不同的时间才能完成。该块应该在 5 秒后立即停止执行其中的代码。我知道 Timeout 可以启用类似的功能,但如果出于性能原因超时,我更喜欢不会引发异常的东西。

【问题讨论】:

    标签: ruby


    【解决方案1】:

    尝试创建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
    

    【讨论】:

      猜你喜欢
      • 2012-02-25
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      • 1970-01-01
      相关资源
      最近更新 更多