class RBThreadPool::RBThreadManage
Attributes
while_condi[RW]
Public Class Methods
new(queue, ex_quit = false, log = nil)
click to toggle source
# File lib/core/rb_thread.rb, line 7 def initialize(queue, ex_quit = false, log = nil) @queue = queue @log = log @ex_quit = ex_quit @while_condi = true end
Public Instance Methods
fork()
click to toggle source
# File lib/core/rb_thread.rb, line 15 def fork return generate_thread end
Private Instance Methods
generate_thread()
click to toggle source
# File lib/core/rb_thread.rb, line 22 def generate_thread return Thread.new do Thread.current.name = "RbThr:Common #{Thread.current.to_s}" if Thread.respond_to?(:name=) queue = @queue begin while @while_condi task = queue.pop task.call end rescue Interrupt task.call unless task.nil? Thread.current.exit rescue => ex raise Exception, ex.message if @log.nil? @log.error("CommonThread:: msg: #{ex.message}, backtrace: #{ex.backtrace}") Thread.current.exit if @ex_quit end end end