In message <199802270635.GAA00354 / soleil.localnet.or.jp>
shugo / po.aianet.ne.jp (Shugo Maeda) writes:

> |  # でないと同期コードの分だけそっくり継承先で再定義しなくてはならなく
> |  # なる....というのが inheritance anomaly.
> 
> いや、synchronizeをネストできるようにすれば新しく追加するのは条件変数
> だけでよいはずです。

  ですね. ちょっと例としては違ったか.... もっとも「その条件変数の追加
  とメソッドのオーバライドが必要」というのが問題だ, というのが 
  inheritance anomaly の問題意識なのですが.

  # たとえ super をつかうにしても, メソッドが沢山あったらたいそう面倒
  # だし, ここからさらに継承したらまたメソッドを定義しなくちゃならない
  # し.... という話.

> 大丈夫なのは別々のMutexになっているからです。
> 
> mutex.synchronize {
>   mutex.synchronize {
>   }
> }
> 
> とするとデッドロックします。

  基本ですね.

> Mutexをモジュールに書き直そうと思うので、そっちではネスト
> できるようにしようと思います。

  reentrant mutex? スレッドが分岐する場合にはどうしましょうか. 複数の
  コールを並行して行なう場合.

  # という研究をまとめているが, 性能が出ない上にオリジナリティが無いと
  # いう, 困った事態になっている (^^; ちなみにここで言うスレッドは「物
  # 理的な」スレッドではなくて「論理的な」ものです.

3 月 2 日では早すぎる.... 23 日は卒業式なんだが.... (^^;
======================================================================
  柳川 @ 情報システム学研究科 . 電気通信大学
  katze / yuba.is.uec.ac.jp                          February 27, 1998
Slow and steady wins the race.