Module: Enumerable

Included in:
ProducerConsumer::WorkerPool
Defined in:
lib/producer_consumer/core_ext/enumerable.rb

Instance Method Summary collapse

Instance Method Details

#consume(number_of_threads = 1, &blk) ⇒ Object



10
11
12
13
14
15
# File 'lib/producer_consumer/core_ext/enumerable.rb', line 10

def consume(number_of_threads=1, &blk)
  @consumer_pool = ProducerConsumer::ConsumerPool.new(@producer_pool, number_of_threads)
  @consumer_pool.run(&blk)
  @producer_pool.wait
  @consumer_pool.wait
end

#produce(number_of_threads = 1, &blk) ⇒ Object



4
5
6
7
8
# File 'lib/producer_consumer/core_ext/enumerable.rb', line 4

def produce(number_of_threads=1, &blk)
  @producer_pool = ProducerConsumer::WorkerPool.new(self, number_of_threads)
  @producer_pool.run(&blk)
  self
end