module ThreadsPerSlice

Public Instance Methods

threads_per_slice(enumerator, number_of_slices) { |slice, mutex| ... } click to toggle source
# File lib/discogs/wishlist/mixins/threads_per_slice.rb, line 2
def threads_per_slice(enumerator, number_of_slices)
  mutex = Mutex.new
  threads = []

  enumerator.each_slice(number_of_slices) do |slice|
    threads << Thread.new { yield slice, mutex }
  end

  threads.each(&:join)
end