けいじゅ@SHLジャパンです. 

すいません. EUCで送ってしまいました(__;;; 
# メイルの転送経路の途中でbase64になるらしいですが...

In [ruby-list :01992 ] the message: "[ruby-list:1992] Re: Mutex_m ",
on Jan/31 14:10(JST) matz / caelum.co.jp (Yukihiro Matsumoto) writes:

>とりあえず mutex_m.rbで追加しておきます.

では, お願いします.

>これもどういう仕様にするのかかんがえないといけませんね.
>extendするより先に呼んだ方が良いのかなあ.

と思うんですけどね. でもそれだと, 次のようなことはできない?

module Foo
  def foo_f
    ...
  end

  def object_extend
    ...
    alias foo foo_f
  end
end

aliasする時には前もってfoo_fがなくてはいけないの?

>|質問:
>|[1] lockについて

>Thread.stopするとcriticalはFALSEになります.これは分かりにく
>い仕様ですが,こうしないと面倒な問題が回避できなかったので高
>なってます.threadは難しい.

なるほど. 一件見た目には分かりませんね.

>|[2] Thread.critical = TRUE
>基本的に共有オブジェクトへのアクセスは保護する必要があります.
>読み出しの場合は書き込みほどシビアではないですが,信頼性が低
>くなります(取り出した値が次の瞬間には変わっているかも知れな
>い).

ふむふむ. 

ある共有オブジェクトにたいして, あるスレッドがbuilt-in methodで変更中に, 
他のスレッドが読み込むことってあるのかしら?

>|  def locked?
>|    Locked.key?(self.id)
>|  end
>|
>|がありますが, 問題ありますか?
>
>たぶん.ないです.というのもlocked?というのは本質的に信頼性
>が低いからです.

了解

>|[3] lockのタイムアウト
>そうですねえ.threadのプライオリティ同様将来への課題ってとこ
>ろですか? 当面,実装の予定はないです.

わかりました.

__
..........................................石塚 圭樹@SHLジャパン(株)...
------------->アドレス変わりました!! e-mail: keiju / shljapan.co.jp <----