class Rsrb::Misc::ThreadPool::Executor
Attributes
active[R]
Public Class Methods
new(queue, mutex)
click to toggle source
# File lib/rsrb/core/util.rb, line 304 def initialize(queue, mutex) @thread = Thread.new do loop do mutex.synchronize { @tuple = queue.shift } if @tuple args, block = @tuple @active = true begin block.call(*args) rescue Exception => e log = Logging.logger['exec'] log.error "Threadpool error" log.error e end block.complete = true else @active = false sleep 0.01 end end end end
Public Instance Methods
close()
click to toggle source
# File lib/rsrb/core/util.rb, line 328 def close @thread.exit end