From: Nobuyoshi Nakada Date: 2008-01-10T19:35:48+09:00 Subject: [ruby-dev:33006] Re: queue and timeout なかだです。 At Thu, 10 Jan 2008 17:54:47 +0900, Yukihiro Matsumoto wrote in [ruby-dev:33005]: > |同じくちょっと考えただけですが、Mutex#sleepでMutexを解放しないと > |Queue#pushができないのではないでしょうか? > > いや、Mutex#sleepでMutexは解放するんですよ。ただ、mutex->th > を0クリアしないというだけで。 いや、mutex->thを0クリアすることでMutexが解放されたことになるの では。 > |Mutex#unlockの変わりに例外を起こさないMutex#try_unlockを追加して > |使うというのはどうでしょうか? > > そっちがいいのかなあ。あるいは unlock に rescue を付けちゃう > か。ただ、並列プログラミング素人の私が手を出すとやけどしちゃ > いそう。 本来エラーになるべきところがわからなくなるのが問題かもと思いまし たが、IO#openなんかも同じことなのでいいんじゃないでしょうか。-d オプションつきのときにうるさくないという点では、try_unlockのほう がいいかもしれませんが。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦