From: Shugo Maeda Date: 2003-11-12T11:26:08+09:00 Subject: [ruby-dev:21904] Re: builtin mutex and once eval 前田です。 コメントしようと思って忘れてました。 At Wed, 15 Oct 2003 15:56:24 +0900, nobu.nakada@nifty.ne.jp wrote: > > > マルチスレッドのときに、Regexpリテラルのoオプションやrequire中 > > > のsleepなどがbusy loopするので、Mutexを組込みにしてみました。 > > > > おお。 > > > > せっかくなのでMutexじゃなくてMonitorMixinがいいなあ > > とおねだりしてみよう。 > 中田さん、前田さん > > MixinはCで書いてもあまりメリットなさそうなんで、パスしたい気持。 > 一応、再入とかタイムアウト指定はできるようになってるので、それ > 以上はRubyレベルで書いたほうがメンテしやすいと思います。あとは > MutexとMonitorの違いってなんでしたっけ。 Mixinは(Rubyレベルで提供できるので)どうでもいいと思うんですが、 どうせmutexをbuiltinにするならConditionVariableもbuiltinにした 方がうれしいと思います。 ConditionVariable#waitしているスレッドは、新たにMutex#lockするス レッドよりも優先的にロックを獲得できるべき(thread.rbでは割り切っ てシンプルな実装になっているようですが)なのですが、builtinならス レッドのスケジューリングに手を入れることができるので、より効率的 に実装できるんじゃないかと。 -- 前田 修吾