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 |