Ruby线程池abort_on_exception

时间:2016-08-26 17:45:40

标签: ruby multithreading threadpool

我正在使用Ruby的Thread.pool为我的程序管理十个线程。我有两个问题:

  1. 我想为池启用abort_on_exception。我的相关代码是:

    pool = Thread.pool(thread_count)
    pool.abort_on_exception = true
    

    但是我得到了

    undefined method abort_on_exception= for #<Thread::Pool:0x007fb25bb144b8> (NoMethodError)
    

    我跑的时候。我已经进行了三重检查,abort_on_exception应该是Thread.pool中的一个属性。我正在使用线程版本0.2.2。

1 个答案:

答案 0 :(得分:1)

abort_on_exception方法在Thread::Pool类本身上定义,而不是在单个实例上定义。因此,您必须致电

Thread::Pool.abort_on_exception = true

因此,此方法与Ruby语言核心中的Thread.abort_on_exception非常相似。