前田です。

Mutexを使うと

$m = Mutex.new
def foo
   $m.synchronize do
      print "foo\n"
   end
end
3.times do
   $m.synchronize do
      foo
   end
end

のようなのがうまく動きませんよね?
Mutexの代りにSynchronizerを使ってみたらうまくいったのですが、
Synchronizerではこういった場合の動作も保証されているのでしょうか?

それと、modeの指定の意味がわからないのですが、どうやって使うもの
なのでしょう?

-- 
前田 修吾