原です。
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 を出すというのが教育的じゃないかと。
まあ教師が考える教育的なものって、なかなかどうしてどこが?
って事が多いのではありますが。(^^;;