原です。

In message "[ruby-list:14893] Re: extension library for mutual exclusion"
    on 99/06/07, Shugo Maeda <shugo / netlab.co.jp> writes:
|
|前田です。

|あと、Thread::exclusiveには再帰的に呼べないという問題と、中で
|sleepやThread.stopが呼ばれるとそれ以降のコードが保護されなくなっ
|てしまうという問題があるので、

それはその通りなんで、問題となっているセクションが長い時間かかる、
他のスレッドに切り替わる、あるいは実行時まで不定である、様な場合
は exclusive を使うのはまずい。

|やはりユーザレベルのプログラミング
|では使うべきではないと思います。

そこで意見が分かれてしまいますね。私の感じでは

1. マルチスレッドでは a==a が偽になることがある
2. だから Thread.exclusive{ a==a } と保護する
3. しかし {} の中が大きくなったらマルチスレッドのご利益がない
4. へっへっへっ、お客さん、ええもんがありまっせ

という段取りで mutex を出すというのが教育的じゃないかと。

まあ教師が考える教育的なものって、なかなかどうしてどこが?
って事が多いのではありますが。(^^;;