Bug #289
sleep and Thread#run
| Status: | Closed | Start date: | ||
|---|---|---|---|---|
| Priority: | Low | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | - | |||
| Target version: | - | |||
| ruby -v: |
Description
1.9 では sleep で寝ているスレッドを Thread#run で起こせない
ようです。
% ./ruby -ve '
t = Thread.new {
t1 = Time.now
sleep 5
t2 = Time.now
p t2 - t1
}
sleep 1
t.run
t.join
'
ruby 1.9.0 (2008-07-16 revision 18083) [i686-linux]
5.139447392
sleep を Thread#run で起こせるっぽいことは rdoc に書いてありま
す。
* Suspends the current thread for _duration_ seconds (which may be any number,
* including a +Float+ with fractional seconds). Returns the actual number of
* seconds slept (rounded), which may be less than that asked for if another
* thread calls <code>Thread#run</code>. Zero arguments causes +sleep+ to sleep
* forever.
また、1.8 では起こせます。
% ruby-1.8 -ve '
t = Thread.new {
t1 = Time.now
sleep 5
t2 = Time.now
p t2 - t1
}
sleep 1
t.run
t.join
'
ruby 1.8.7 (2008-07-10 revision 17572) [i686-linux]
1.002687
--
[田中 哲][たなか あきら][Tanaka Akira]
History
Updated by Yukihiro Matsumoto over 3 years ago
まつもと ゆきひろです In message "Re: [ruby-dev:35542] [Bug:1.9] sleep and Thread#run" on Wed, 16 Jul 2008 20:43:16 +0900, Tanaka Akira <akr@fsij.org> writes: |1.9 では sleep で寝ているスレッドを Thread#run で起こせない |ようです。 |sleep を Thread#run で起こせるっぽいことは rdoc に書いてありま |す。 1.8とはThreadの実装が違うので、なんらかの事情で1.9は起こせな いのであっても受け入れられます。ただし、その場合はrdocは更新 すべきでしょうね。
Updated by Anonymous over 3 years ago
In article <E1KJ90G-0005Id-TX@x61.netlab.jp>, Yukihiro Matsumoto <matz@ruby-lang.org> writes: > 1.8とはThreadの実装が違うので、なんらかの事情で1.9は起こせな > いのであっても受け入れられます。ただし、その場合はrdocは更新 > すべきでしょうね。 べつに実際に使っていてという話ではなくて、また、sleep する前 に run しちゃったら、という心配も有るのでそれかまいませんが、 他のスレッドから通知されるか一定時間経過するかどちらかを待つ、 というのは 1.9 ではどのように書くのでしょう? -- [田中 哲][たなか あきら][Tanaka Akira]
Updated by Koichi Sasada over 3 years ago
- Status changed from Open to Closed
Updated by Koichi Sasada over 3 years ago
fixed at r18094.
Updated by Nobuyoshi Nakada over 3 years ago
なかだです。 At Thu, 17 Jul 2008 00:28:55 +0900, Yukihiro Matsumoto wrote in [ruby-dev:35549]: > 1.8とはThreadの実装が違うので、なんらかの事情で1.9は起こせな > いのであっても受け入れられます。ただし、その場合はrdocは更新 > すべきでしょうね。 [ruby-core:17270]を直したときのバグです。 # [ruby-dev:35542]がredmineに登録されてないですね。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦
Updated by Nobuyoshi Nakada over 3 years ago
なかだです。 At Thu, 17 Jul 2008 00:28:55 +0900, Yukihiro Matsumoto wrote in [ruby-dev:35549]: > 1.8とはThreadの実装が違うので、なんらかの事情で1.9は起こせな > いのであっても受け入れられます。ただし、その場合はrdocは更新 > すべきでしょうね。 [ruby-core:17270]を直したときのバグです。 # [ruby-dev:35542]がredmineに登録されてないですね。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦