Ruby线程池abort_on_exception

Ruby Thread Pool abort_on_exception

我正在使用 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.

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

Thread::Pool.abort_on_exception = true

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