有馬です。

Tomoyuki Kosimizu <greentea / fa2.so-net.ne.jp> wrote

| [ruby-list:19677]のコードを次のように書き換えたら、大丈夫でした:

| [ruby-list:19677]の質問の意図は、『アトミックなメソッドからアトミック
| なメソッドを呼び出すにはどうすれば良いか?』ということだったんですけど、
| Mutexは、上のコードのように使うのが普通なのでしょうか?

すみません。アトミックなメソッドというのがちょっと理解できません。

| [ruby-list:19677]のコードは、このJavaの書き方を真似たものです。

Java はわからないのですが、[ruby-list:19681] のコードの動作を変えずに
記述を書き換えると以下になるのですが、意図の通りですか?

require 'thread'

class Foo
  def meth_out
    m1 = Mutex.new
    m1.synchronize {
      meth_in
    }
  end
  def meth_in
    m2 = Mutex.new
    m2.synchronize {
      p true
    }
  end
end

Foo.new.meth_out

--
 有馬 康弘 <fit0298 / fitec.co.jp>