RubyのThreadメモ
まずは超簡単なところから。
n = 1 # この記述に至った時点で非同期で実行開始される t1 = Thread.new do puts "t1 start" puts "t1 n is #{n}" n = 2 sleep 5 puts "t1 end" end t2 = Thread.new do puts "t2 start" sleep 5 puts "t2 n is #{n}" # => 2 スレッド間で変数は共有される puts "t2 end" end # joinメソッドを呼ぶと、 # スレッドの処理が終了するまで以下の処理が実行されない t1.join t2.join