越水です。 Mutex#synchronizeの使い方が分からず悩んでいます。 下のコードを実行すると: require 'thread' class Foo def initialize @lock = Mutex.new end def meth_out @lock.synchronize { meth_in } end def meth_in @lock.synchronize { p true } end end Foo.new.meth_out /usr/local/lib/ruby/1.4/thread.rb:56:in `stop': stopping only thread (ThreadError) from /usr/local/lib/ruby/1.4/thread.rb:56:in `lock' from /usr/local/lib/ruby/1.4/thread.rb:74:in `synchronize' from foo.rb:15:in `meth_in' from foo.rb:10:in `meth_out' from foo.rb:9:in `synchronize' from foo.rb:9:in `meth_out' from foo.rb:21 と叱られてしまいます。こうした問題をうまく解決するにはどうしたらいいで しょうか? 越水 greentea / fa2.so-net.ne.jp