Rubyのスレッドは並列実行はサポートしていないので、CPUバウンドなボトルネックに対しては効果がないけど、IOバウンドなものに対しては有効だという話。Wikiquoteはネットワークが遅いので、やってみた。シンプルで分かりやすい。 #!/usr/local/bin/ruby require 'open-uri' require 'hpricot' require 'fileutils' QUOTE_FILE = File.expand_path("~/.quotes") class Wikiquote attr_accessor :q def initialize @q = [] end def show cache if @q.size == 0 puts @q.shift end def cache if @q.size <= 4 @q += get_quote(date) end