[#14130] Re: pop3 via firewall — kikutani@...
きくたにです。古い話を持ち出しますが、
[#14133] Thread safe eRuby — Yoshinori Toki <toki@...>
土岐です。
まつもと ゆきひろです
[#14136] — akendo@...3.rim.or.jp
遠藤です。
まつもと ゆきひろです
[#14153] Re: Class is a Class. — 助田 雅紀 <masaki.suketa@...>
助田です.
[#14203] class def in class def — kikutani@...
きくたにです。なんか初歩的質問で恥ずかしいけど。
なひです.
なひです.
まつもと ゆきひろです
なひです.
まつもと ゆきひろです
前田です。
五樹島です。お世話になっております。
松尾です。
石橋秀仁です. はじめまして.
前田です。
石橋です.
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
[#14220] Re: Subscribe confirmation request (ruby mailing list) — Akihiro Yamauchi <aygoofy@...>
ruby-list-admin@netlab.co.jp wrote
有馬@FITECです。
わたなべです.
[#14257] hajimemasite — Koyama Hideo<fa8h-kym@...>
[#14282] What's |n| ? — Kohji IKEDA <kid@...>
はじめまして、池田@ソフトサイエンスです。
From: Kohji IKEDA <kid@mwc.biglobe.ne.jp>
ども、池田@ソフトサイエンスです。
まつもと ゆきひろです
遠藤です。
まつもと ゆきひろです
[#14284] Module.new feature — Shin-ichiro Hara <sinara@...>
原です。
[#14292] RUBYLIB is necessary for 1.3 ? — kikutani@...
1.2までは、たとえば、mime.rb を /usr/local/lib/ruby にほうりこんどきゃ
[#14304] ruby-info.el — Takashi Nishimoto <g96p0935@...>
Ruby の関数/変数の解説を info から調べる Emacs Lisp を書いてみました。
[#14323] Segmentation Fault on ruby-1.2.5 for Win32(Cygwin) — "MIYOKAWA, Nobuyoshi" <nmiyo@...>
三代川と申します。
こんにちは,もりきゅうです。
こんにちは、三代川です。
[#14332] ruby/gtk 0.17 — Dai <MAP2303@...>
[#14336] archive.rb — Takashi Nishimoto <g96p0935@...>
必要のため、統合アーカイバを書いてみました。
まつもと ゆきひろです
[#14341] sort animation on ruby/tk — "Date Ken" <ge6537@...>
はじめまして伊達と申します。
[#14371] regexp for backslash escaped strings — gotoken@... (GOTO Kentaro)
ごとけんです
わたなべです.
[#14379] Ruby as the First Language — Hideto Ishibashi <a1602hi@...>
石橋秀仁です.
ごとけんです
石橋秀仁です.
ごとけんです
From: gotoken@math.sci.hokudai.ac.jp
[#14408] goo.rb — Kazunori Akaishi <akaishi@...>
akaishi です。
[#14417] はじめまして — Kenji Horikoshi <k-horix@...>
はじめまして,堀越と申します.
[#14428] sort — Koyama Hideo<fa8h-kym@...>
もとcobol屋の小山と申します。
立石です。
ごとけんさん、立石さん。ありがとうございます。
[#14441] ConditionVariable (thread.rb) — SEKI <m_seki@...>
原です。
前田です。
前田です。
原です。
前田です。
原です。
原です。
前田です。
まつもと ゆきひろです
原です。
前田です。
原です。
前田です。
原です。
前田です。
[#14481] count lines — kikutani@...
きくたにです。
[#14489] Re: sort — 助田 雅紀 <masaki.suketa@...>
助田です.ちょっとわからなかったので質問します.
[#14506] Re: ちっちゃい Ruby — 中村暁史 <anakamur@...>
[#14513] Hater — cercine@... (Takashi Ikeda)
池田です。
こんにちは,堀越です.
中田@Vectorです。こんな話の時だけ。
こんにちは,堀越です.
こんにちは,堀越です.
石橋秀仁です.
こんにちは,堀越です.
石橋秀仁です. こんにちは.
もと、大型機使いの小山です。
有馬@FITECです。
新井です。
有馬@FITECです。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
まつもと ゆきひろです
だんのです。
まつもと ゆきひろです
石橋秀仁%チュートリアル構想中です.
ごとけんです
なひです.
石橋秀仁です.
なひです.大学では自然言語処理や知識表現について研究しておりました.
石橋秀仁です.
なひです.
なひです.
なひです.
石橋秀仁です.
前田です。
早坂@会津大学といいます。
まつもと ゆきひろです
[#14521] ruby の書き方 ? — goto@...
後藤@横河工事です。以前、ここでお世話になったおかげで、なんとか
前田です。
私も -i でやる方法を書いたけど、前田さんが書いたからもういいや。
[#14597] TkAfter munched memory. — Yoshinari NOMURA <nom@...>
はじめまして、九大の乃村です。
[#14602] ruby upload cgi program — ymaekawa@...
前川と申します。
青山です。
[#14667] [BUG] def foo; foo end; foo — "Takehiko Ueki" <takehiko@...>
ども、植木です。
[#14696] Ruby traps & tips — Akira Endo <akendo@...3.rim.or.jp>
遠藤です。
あおきです。
遠藤です。
あおきです。
[ruby-list:14478] Re: ConditionVariable (thread.rb)
原です。
In message "[ruby-list:14475] Re: ConditionVariable (thread.rb)"
on 99/05/24, Shugo Maeda <shugo@netlab.co.jp> writes:
|
|前田です。
|> def enq(v)
|> @mutex.synchronize {
|> @full.wait if count == @max
|> ...
|> }
|> end
|>
|> と書けるようになると synchronize と wait が同じ @mutex を扱って
|> いることが隠れてまた見難い気もします。
|
|うーん、でも、コードを書く人にとっては自明なはずですし、逆に読む
|人にとっては(その部分に問題がないかぎり)気にしなくていい部分なの
|ではないでしょうか。
これは感覚的な問題なんで、、、確かに今の仕様で問題はないです。
|> def enq(v)
|> @full.synchronize {
|> @full.wait if count == @max
|> ...
|> }
|> end
|>
|> みたいに ConditionVariable#synchronize を作るのはいかが?
|
|うーん、そこまでいくとそれはもはや条件変数とは呼ばないような。
|排他制御したいのは「バッファがいっぱいになっている」という条件で
|はないので、やはり@full.synchronize {...}というのは無理があるので
|はないでしょうか。
その通りで、条件変数とはいい難い感じはしてくるわけだけど、、
つまり、条件変数が mutex と不可分と考えるなら、Mutex の幾つかのメ
ソッドを持っていてもいい気がするし、mutex と別ものとするなら wait
に mutex を(ひとつ)解放するメカニズムを組み込むのは変な気がする
んです。例えば
(あ)
class ConditionVariable
def wait(mutex)
mutex.unlock
@waiters_mutex.synchronize {
@waiters.push(Thread.current)
}
Thread.stop
mutex.lock
end
end
...
def enq(v)
@mutex.synchronize {
@full.wait(@mutex) if count == @max
@q.push v
@empty.signal if count == 1
}
end
は、
(い)
class ConditionVariable
def wait2
@waiters_mutex.synchronize {
@waiters.push(Thread.current)
}
Thread.stop
end
end
...
def enq(v)
@full.wait2 if count == @max
@mutex.synchronize {
@q.push v
@empty.signal if count == 1
}
end
と書いてもほとんど変わらないわけで、では wait の引数は何に
使われるの?ってことになる。
あれれっ、もしかして(あ)も(い)もデッドロックする?