Class: Plum::Rack::ThreadPool

Inherits:
Object
  • Object
show all
Defined in:
lib/plum/rack/thread_pool.rb

Instance Method Summary collapse

Constructor Details

#initialize(size) ⇒ ThreadPool

Returns a new instance of ThreadPool.



5
6
7
8
9
10
11
12
# File 'lib/plum/rack/thread_pool.rb', line 5

def initialize(size)
  @workers = Set.new
  @jobs = Queue.new

  size.times { |i|
    spawn_worker
  }
end

Instance Method Details

#acquire(tag = nil, err = nil, &blk) ⇒ Object

returns cancel token



15
16
17
# File 'lib/plum/rack/thread_pool.rb', line 15

def acquire(tag = nil, err = nil, &blk)
  @jobs << [blk, err]
end