まつもと ゆきひろです

In message "[ruby-list:23787] Re: context switch during finalizer(Re:  Re: Flyweight)"
    on 00/07/11, Masatoshi SEKI <m_seki / mva.biglobe.ne.jp> writes:

|> Javaのsyncronized構文とか導入した方が良いのかなあ。
|
|どうなんでしょう。
|最近 mutex_m.rb を改造して遊んでました。
|
|(1) synchronize 中、そのスレッドは synchronize 可能 な synchronize
|
|(2) synchronize 中でないと例外を発生させる in_synchronize
|
|(3) attr_reader/writer/accessor のようなもので
|    同期する synchronize_reader/writer/accessor や
|    lockしてないと例外を発生させる lock_reader/writer/accessor
|
|(4) メソッドを alias して同じ名前で synchronize do ... end を def する
|    synchronized
|
|などを追加してみました。
|どれがアプリを書くときに有効か、いろいろ試してるところです。
|# (3),(4)の実装がちょっと怪しいけどそれなりに動いてます。
|
|mutex_m の様にオブジェクト自身に lock をかける場合、
|(1) があるとややうれしいかも。
|深く考えずにメソッドの中をsynchronize do .. end できるので。

うむ。これ面白いですね。もうちょっと実績積んだら、mutex_mを
リプレースできそうな気がします。アレ(や他の石塚さん作のスレッ
ド関係の一連のもの)も実装が古い(1.2以前)から整理した方が良い
もののうちのひとつですよね。

# 1.7系のToDoか?

                                まつもと ゆきひろ /:|}