Есть пример кода:
POOL_SIZE = 10
jobs = Queue.new
10_0000.times{|i| jobs.push i}
workers = (POOL_SIZE).times.map do
Thread.new do
begin
while x = jobs.pop(true)
puts "job"
end
rescue ThreadError
end
end
end
workers.map(&:join)
Пытаюсь написать, что-то наподобие, только для запросов
POOL_SIZE = 10
jobs = Queue.new
tasks = ['www.example.com', 'www.example.com', 'www.example.com'].each{ |url| jobs.push(url)}
workers = (POOL_SIZE).times.map do
Thread.new do
begin
response = tasks.each{|uri| HTTParty.get(uri)}
p response
rescue ThreadError
end
end
end
workers.map(&:join)