るりまサーチ

最速Rubyリファレンスマニュアル検索!
54件ヒット [1-54件を表示] (0.014秒)
トップページ > クラス:Thread::Mutex[x] > クエリ:lock[x]

別のキーワード

  1. mutex_m lock
  2. net/http lock
  3. mutex_m mu_lock
  4. mutex_m try_lock
  5. mutex_m mu_try_lock

ライブラリ

キーワード

検索結果

Thread::Mutex#lock -> self (18102.0)

mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。

...す。

@raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。


@see Thread::Mutex#unlock...

Thread::Mutex#try_lock -> bool (6114.0)

mutex をロックしようとして、ロックが成功した場合、真を返します。 ロックできなかった場合にはブロックせず偽を返します。

...mutex をロックしようとして、ロックが成功した場合、真を返します。
ロックできなかった場合にはブロックせず偽を返します。

//emlist[例][ruby]{
m = Mutex.new
m.try_lock # => true
m.try_lock # => false
//}...

Thread::Mutex#unlock -> self (6113.0)

mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。

...lock
# critical part
ensure
m.unlock
end

Mutex はロックしたスレッド以外からロックを開放することは出来ません。
ロックしたスレッド以外から unlock が呼ばれると ThreadError が発生します。

m = Mutex.new
m.lock
Thread.new do
m.unlock...

Thread::Mutex#locked? -> bool (6107.0)

mutex がロックされている時、真を返します。

...mutex がロックされている時、真を返します。

//emlist[例][ruby]{
m = Mutex.new
m.locked? # => false
m.lock
m.locked? # => true
//}...

Thread::Mutex#owned? -> bool (7.0)

self がカレントスレッドによってロックされている場合に true を返します。 そうでない場合に false を返します。

...self がカレントスレッドによってロックされている場合に true を返します。
そうでない場合に false を返します。


//emlist[例][ruby]{
m = Mutex.new
m.owned? # => false
m.lock
Thread.new do
m.owned? # => false
end.join
m.owned? # => true
//}...

絞り込み条件を変える

Thread::Mutex#sleep(timeout = nil) -> Integer (7.0)

与えられた秒数の間ロックを解除してスリープして、実行後にまたロックします。

...グナルを受信した場合などに実行が再
開(spurious wakeup)される場合がある点に注意してください。

//emlist[例][ruby]{
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
//}...