Module: Enumerable

Defined in:
lib/t/core_ext/enumerable.rb

Instance Method Summary collapse

Instance Method Details

#threaded_eachObject



3
4
5
6
7
8
9
10
# File 'lib/t/core_ext/enumerable.rb', line 3

def threaded_each
  threads = []
  result = each do |object|
    threads << Thread.new{yield object}
  end
  threads.each(&:join)
  result
end

#threaded_mapObject



12
13
14
15
16
17
18
19
20
# File 'lib/t/core_ext/enumerable.rb', line 12

def threaded_map
  results = map{nil}
  threads = []
  each_with_index do |object, index|
    threads << Thread.new{results[index] = yield object}
  end
  threads.each(&:join)
  results
end