From: shugo@... (maeda shugo) Date: 1997-07-29T03:44:51+09:00 Subject: [ruby-list:3529] Re: [Q] Thread 前田です。 shugo@po.aianet.ne.jp (maeda shugo) san wrote: |class Foo | include Synchronizable | | # 同時にアクセスされたくないメソッド | def synchronized_method | synchronize { | ... | } | end |end | |のようにすればそんなに手間はかからないと思うのですがどうでしょう? Fooがinclude Synchronizableしていさえすれば foo = Foo.new foo.synchronize { foo.bar foo.baz } のように使う側で排他制御することもできるかな...と思ったのですが、 もしbarで def bar synchronize { ... } end みたいにすでに排他制御してるとデッドロックが起きちゃいますね、うーん。 やっぱりクラスの設計者が責任を持つべきなのかな。 -- 前田 修吾