From: Cd Cd Date: 2007-09-06T11:50:22+09:00 Subject: Ruby Threads question The following code is a slight modification of the code found at the top of page 136 in the book "Programming Ruby The Pragmatic Programmers' Guide" by Dave Thomas with Chad Fowler and Andy Hunt #!/usr/bin/ruby -w require 'net/http' pages = %w(www.google.com www.slashdot.org www.mit.edu) threads = [] for page_to_fetch in pages threads << Thread.new(page_to_fetch) do |url| h=Net::HTTP.new(url, 80) puts "Fetching: #{url}" resp = h.get('/', nil) puts "Got #{url}: #{resp.message}" end end threads.each {|thr| thr.join } How come when I run this code, the following output goes line by line? Fetching: www.google.com Fetching: www.slashdot.org Fetching: www.mit.edu Got www.slashdot.org: Moved Permanently Got www.google.com: OK Got www.mit.edu: OK Shouldn't the output be all done at once since the code is running in parallel? -- Posted via http://www.ruby-forum.com/.