[#6214] RE^2: HTML class — 青山 和光 <PXN11625@...>
In-Reply-To: [ruby-list:6118] Re: HTML class
[#6219] Ruby連載 第4話 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
ももちゃん@あるもにこすです.
まつもと ゆきひろです
In message <199802040557.OAA18458@picachu.netlab.co.jp>
まつもと ゆきひろです
In message <199802040739.QAA20750@picachu.netlab.co.jp>
まつもと ゆきひろです
In message <199802040803.RAA24375@picachu.netlab.co.jp>
[#6249] Re: i++ — 助田 雅紀 <masaki.suketa@...>
助田です。
ことけんです
まつもと ゆきひろです
しげひろです.
ももちゃん@あるもにこすです.
まつもと ゆきひろです
ももちゃん@あるもにこすです.
まつもと ゆきひろです
[#6256] pop & smtp-lib.rb — tateishi@... (Takaaki TATEISHI)
立石@理科大です。
[#6272] I'd like to subscribe this ML — INOUE Katsuyuki <inoue@...>
井上勝行 と申します。
[#6279] Re: i++ — 助田 雅紀 <masaki.suketa@...>
助田です。
[#6314] RE: ruby's design policy (Re: I'd like to subscr ibe this ML) — 助田 雅紀 <masaki.suketa@...>
オブジェクト指向周辺をぶらぶらしている助田です。
まつもと ゆきひろです
井上勝行です。
まつもと ゆきひろです
[#6315] install some versions — gotoken@... (GOTO Kentaro)
ごとけんです
[#6333] ruby 流に添削して下さい — nkon@...2.3web.ne.jp
さくです.
さくです.自己フォロー.
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです
わたなべです.
[#6342] Re: ruby's design policy (Re: I'd like to su bscr ibe this ML) — 助田 雅紀 <masaki.suketa@...>
助田です。
[#6372] ruby 1.1b7 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
前田です。
わたなべです.
ふなばです。
まつもと ゆきひろです
ふなばです。
[#6373] call for scripts — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
> もっと良いものがあるかもしれないと考え,実例集に載せられるよ
sort-schedule.rbで、ちょっと疑問に思っていることがあるのです
金城です.
まつもと ゆきひろです
金城です.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
原です。
From: Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp>
きくたに@ぷ〜たろ〜です。
さくです.
わたなべです.
まつもと ゆきひろです
前田です。
前田です。
まつもと ゆきひろです
前田です。
前田です。
前田です。
前田です。
わたなべです.
ふなばです。
In message <19980222011624S.tadf@kt.rim.or.jp>
前田です。
ふなばです。
ふなばです。
けいじゅ@日本ラショナルソフトウェアです.
Regard to "[ruby-list:7447] Re: call for scripts"
[#6422] simple_chat_server — 青山 和光 <PXN11625@...>
In-Reply-To: [ruby-list:6395] Re: call for scripts
[#6447] gsub — Tadayoshi Funaba <tadf@...>
ふなばです。
[#6514] ROT13/47 — OZAWA Sakuro <crouton@...>
小澤さくです.
[#6516] RE^2: simple_chat_server — 青山 和光 <PXN11625@...>
In-Reply-To: [ruby-list:6437] Re: simple_chat_server
まつもと ゆきひろです
class String; def - x; end; end; %-
[#6538] IE favorites to HTML — OZAWA Sakuro <ozawa@...>
小澤さくです。会社からもMLに入っちゃいます。
[#6565] Re: Counter class [Re: i++ ] — toyofuku@...
豊福@パパイヤです。
[#6582] File::Separator on cygwin — OZAWA Sakuro <ozawa@...>
小澤さくです。
わたなべです.
小澤さくです。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#6591] ruby 1.1b8 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
前田です。
けいじゅ@日本ラショナルソフトウェアです.
前田です。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
さくです.
前田です。
小澤さくです。
うさぎの名前ででています:-)
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#6601] 8-queen — TAKAHASHI Masayoshi <maki@...>
高橋です。今度ちゃんと1.1b7にします……と書こうとしたら、b8になって
[#6605] true/TRUE false/FALSE nil/NIL — OZAWA Sakuro <crouton@...>
小澤さくです.
前田です。
まつもと ゆきひろです
[#6610] tcltklib dosen't compile — TEI meiki <tei@...>
鄭です。
[#6621] here document — Tadayoshi Funaba <tadf@...>
ふなばです。
[#6635] hello — WATANABE Tetsuya <tetsu@...>
渡辺哲也と申します。
まつもと ゆきひろです
>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
[#6706] Re: Counter class — toyofuku@...
豊福@パパイヤです。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#6735] Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda)
前田です。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
前田です。
From: shugo@po.aianet.ne.jp (Shugo Maeda)
前田です。
From: shugo@po.aianet.ne.jp (Shugo Maeda)
前田です。
まつもと ゆきひろです
[#6786] Re: Mutex/ConditionVariable/Queue — senda@...
From: shugo@po.aianet.ne.jp (Shugo Maeda)
前田です。
前田です。
前田です。
けいじゅ@日本ラショナルソフトウェアです.
In message <199802261520.AAA18702.keiju@cupmail0.rational.com>
前田です。
In message <199802270237.CAA00362@soleil.localnet.or.jp>
前田です。
In message <199802270635.GAA00354@soleil.localnet.or.jp>
前田です。
[#6819] ruby 1.1b9 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#6829] monitor.rb — shugo@... (Shugo Maeda)
前田です。
[#6830] what is 'octet decimal' — OZAWA Sakuro <crouton@...>
さくです.
[#6852] Counting Semaphore — Kazuhisa YANAGAWA <katze@...>
Counting semaphore をちょっと作ってみました. 見ての通り, コードは
[ruby-list:6791] Re: Mutex/ConditionVariable/Queue
前田です。 In message "[ruby-list:6786] Re: Mutex/ConditionVariable/Queue" senda@ic.rdc.ricoh.co.jp <senda@ic.rdc.ricoh.co.jp> wrote: |shugo> # 問題なのはwaitの実装ではなくてsignalした後どのスレッドに制御を |shugo> # 渡すかなのですよね? |shugo> | |そのとうりです。 | |# メールを出したあともしかしたら |# 誤解されるかもしれないと思っていました。 一瞬勘違いしそうになりました(^^; |shugo> | Signal-Return : signalしたプロセスを直ちにreturnさせる。 |shugo> 単純。 |shugo> |shugo> すみませんreturnとはどういう意味なんでしょう? |shugo> | |これはmonitor固有の実装になってしまうのですが、signal()とmutexのリリースを |同時にやって呼び出し元がモニタから抜けることを意味します。 | |意味はそういう意味なのですが実際の処理はwait()の最後のlockをやめてsignal側 |ではunlockをやめます。これで無用なコンテキストスイッチが減ります。 これはちょっと無理そうですね。 |shugo> | Signal-Urgent : signalを受け取ったスレッドを走らせる。発 |shugo> 行元に |shugo> | 次に走るプライオリティを与える。公平。 |shugo> |shugo> これはRubyのスレッドでは無理のような気がします。 | |Thread.runだけでは確実ではないのはたしかです。 |が、mutexに関係するthreadだけにかぎれば実装することは可能だと思うんですが。 Rubyスクリプトだけでできます? 他のスレッドをいったん全部止めてwaitから出る時にレジュームさせる、くらい しか思い付きませんでした。 優先度を指定したり、実行するスレッドを指定したりはできませんから直接 スレッドに制御を渡すのは無理ですよね。 |shugo> Rubyだとタイマーでスケジューリングイベントが起こるので、Thread.critical |shugo> をtrueにしないといずれスレッドが切り替わってしまいますよね。 |shugo> 切り替わったスレッドがwaitしていたスレッドでなければまた条件を偽にされ |shugo> る可能性があるわけですから同じことではないでしょうか。 |shugo> | |そのとおりです。本にもそう書いてあるのですが、本の結論は | 3つとも同様に強力であることは[Howard,1976]で論理的に示されており、 | 1つの種類を使用して別のものをシミュレートすることができる。 | 実際にどの種類のモニタを選択するかは好みの問題である。 |だそうです。 | |# 私も納得していないんですが。 うーん、納得いきませんね(^^; # [Howard,1976]というのを参照すれば納得できるのかな。 何とかスケジューリングの問題を避けて通れないかと思って考えて みたのですが、 1. Mutexの獲得要求のキューを二つ用意して、waitからの要求を優先させる。 # __cond_lock/__cond_unlockとかを作ってConditionVariableからしか呼ば # ないようにする。 2. waitの引数でMutexを指定するのを止めて、ConditionVariableのインスタンス 変数にMutexを持つようにする。 3. Mutex#ownerで現在Mutexのオーナーになっているスレッドを獲得できるように する。 4. signal/broadcast/waitはMutexのオーナースレッド以外が実行した場合は例外を 上げる。 こうすればsignalを呼んだ時点ではMutexが解放されていないので、他の スレッドに制御が移っても条件が偽になるような変更をされないですみます。 と思ったのですが、signalしたスレッドから条件を偽にしようとする スレッドに移った後、waitしたスレッドに移らずにまたsignalしたス レッドに戻ってMutexが解放され、その後さらにwaitしたスレッドに 移らず、条件を偽にしようとするスレッドに移る、というケースがもし あるとまずいですね。 # Rubyのスケジューラでこういうことが起きないことが保証されていれば # 大丈夫なのですが。 普通signalした直後に条件が偽になったりするケースはあまりないような 気もするので、実用的にはこれくらいは問題ないかな...とか思ったりする のですが、どうでしょう。 In message "[ruby-list:6781] Re: Mutex/ConditionVariable/Queue" Yukihiro Matsumoto <matz@netlab.co.jp> wrote: |eval.cをいじってくれても全然構いませんよ ^^;;; というのはやはり辛いので(^^; -- 前田 修吾