Method: ThreadJob::ThreadPool#initialize

Defined in:
lib/thread_job/thread_pool.rb

#initialize(max_size = 5, logger = Logger.new(STDOUT)) ⇒ ThreadPool

Returns a new instance of ThreadPool.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/thread_job/thread_pool.rb', line 6

def initialize(max_size=5, logger=Logger.new(STDOUT))
  @queue = Queue.new
  @logger = logger
  @avail_pool = max_size.times.map do
    Thread.new do
      @logger.debug("[ThreadPool] started thread #{Thread.current}")
      while true
        monitor_queue
      end
    end
  end
  @use_pool = []
  @mutex = Mutex.new
end