ささだです。

Masatoshi SEKI wrote:
> YARVでいま使える排他制御の仕組みにはなにがありますか?
> 
> 全体を停める必要はないので、MutexなりMonitorなりに書き直しても
> 大丈夫ですよ。

 Mutex クラスが組み込みになっているので、そちらを利用していただければと
思います。恐らく、Mutex#synchronize で用は足りるのではないかと思います。

 Thread.exclusive を、

$global_lock = Mutex.new
class Thread
  def self.exclusive
    $global_lock.synchronize{
      yield
    }
  end
end

というふうに、「Thread.exclusiveで実行しているスレッドはたかだか一個しか
ない」という意味にするのはアリでしょうかね? 同じ名前で違う挙動にするの
は混乱の元かな。

-- 
// SASADA Koichi at atdot dot net