From: Erik Veenstra Date: 2008-07-15T05:29:50+09:00 Subject: Re: Ruby & Threads In plain Ruby, you might want to rewrite this to a more functional style: holder = array.collect do |number| Thread.new do puts "Starting #{number}...\n" sleep(5) number end end.collect do |thread| thread.value end And, using ThreadLimiter [1,2], you can reduce it to: require "threadlimiter" holder = array.threaded_collect do |number| puts "Starting #{number}...\n" sleep(5) number end gegroet, Erik V. - http://www.erikveen.dds.nl/ [1] http://www.erikveen.dds.nl/threadlimiter/doc/index.html [2] http://rubyforge.org/projects/threadlimiter/