title: Parallel HTTP requests in ruby
body: <p>I have an array of URLs and I wan't to open each one and fetch a specific tag.<br>
  But I want to do this in parallel.</p>
  
  <p>Here is the pseudocode for what I want to do:</p>
  
  <pre>
  urls = [...]
  tags = []
  urls.each do |url|
    fetch_tag_asynchronously(url) do |tag|
      tags &lt;&lt; tag
    end
  end
  wait_for_all_requests_to_finish()
  </pre>
  
  <p>If this could be done in a nice and safe way that would be awesome.<br>
  I could use thread but it doesn't look like arrays are thread safe in ruby.</p>