原です。

In message "[ruby-list:14849] extension library for mutual exclusion"
    on 99/06/07, Shugo Maeda <shugo / netlab.co.jp> writes:

|前田です。

|書いてみました。

出てしまいましたね。(^_^)

|件のコードに関してはThread::exclusiveよりも速くなったと思います:-)

では Thread::exclusive を C で書いたらどうなるんでしょう?


In [ruby-list:14840]

|> す。(Linux で。当社比。^^;)ということは、exclusive{} は、その部
|> 分だけではスケジュールを握っているけど、全体としては他のスレッド
|> に動く時間と機会を多く与えているわけですよね。
|
|うーん、Rubyのスレッドは時分割方式なので、IOがブロックしたりする
|わけではない単純計算のプログラムでは、並列度(じゃなくて平行度か)
|は低い方が速くなるんじゃないでしょうか。

それはそうですよね。占有するから速い。そこで速いのがいいなら
シングルスレッドで書けばいいじゃないかと思われそうです。しか
しスピードも速いし距離も短いならとにかく走ってもらいたいと思
いません?思わないのかあ。(^^;

大体 Ruby のマルチスレッドは細かい占有の処理の粒の数珠繋ぎと
考えられるので、その積み重ねの粒の一つとして(ちょっと大きめ
ではあるが) v=v+10 を並べちゃったらいいんじゃないか、という
発想なんですが。