#!/usr/bin/env ruby require 'thread' m = Mutex.new x = 1 t = Thread.new do # ここは子のみが実行するところ 5.times do m.synchronize { x=5; sleep 0.2 } end end while t.alive? m.synchronize { STDERR.printf("x=%dに1足すと:", x) sleep 0.05 x += 1 STDERR.printf("%d\n", x) } end t.join