sleep(timeout = nil) -> Integer
[permalink][rdoc][edit]-
与えられた秒数の間ロックを解除してスリープして、実行後にまたロックします。
- [PARAM] timeout:
- スリープする秒数を指定します。省略するとスリープし続けます。
- [RETURN]
- タイムアウトした時は nil を、それ以外はスリープしていた秒数を返します。
- [EXCEPTION] ThreadError:
- 自身がカレントスレッドによってロックされていない場合に発生します。
[注意] 2.0 以降ではスリープ中でも、シグナルを受信した場合などに実行が再開(spurious wakeup)される場合がある点に注意してください。
m = Mutex.new th = Thread.new do m.lock m.sleep(2) end th.status # => "run" sleep 1 th.status # => "sleep" sleep 1 th.status # => false