るりまサーチ

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

ライブラリ

キーワード

検索結果

Mutex#lock -> self (1.0)

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

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

@rais...

Mutex#locked? -> bool (1.0)

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

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

Mutex#owned? -> bool (1.0)

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

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

[注意] このメソッドは実験的な機能として提供されています。仕様が変更にな
る可能性があります。
self がカレントスレッドによってロックされている場合に true を返します。
そうでない場合に false を返します。

Mutex#sleep(timeout = nil) -> self (1.0)

与えられた秒数の間スリープしてからロックを解放します。

与えられた秒数の間スリープしてからロックを解放します。

@param timeout スリープする秒数を指定します。省略するとスリープし続けます。

@raise ThreadError 自身がカレントスレッドによってロックされていない場合に発生します。
与えられた秒数の間スリープしてからロックを解放します。

@param timeout スリープする秒数を指定します。省略するとスリープし続けます。

@raise ThreadError 自身がカレントスレッドによってロックされていない場合に発生します。

[注意] 2.0 以降ではスリープ中でも、シグナルを受信した場合などに実行が再
開(spurious wakeup)される場合がある点に注意してください。

Mutex#synchronize { ... } -> object (1.0)

mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。

...
mutex
をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。

ブロックが最後に評価した値を返します。

@raise ThreadError self 既にカレントスレッドにロックされている場合に発
生しま...

絞り込み条件を変える

Mutex#try_lock -> bool (1.0)

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

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

Mutex#unlock -> self (1.0)

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

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

@return self を返します。

例:

m = Mutex.new
begin
m.lock
# critical part
ensure
m.unlock
end

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

m = Mutex.new
m.lock
Thread.new do
m.unlock # => ThreadError
end.join

@raise ThreadError self がロックされていない場合や self をロック...

Mutex.new -> Mutex (1.0)

新しい mutex を生成して返します。

...新しい mutex を生成して返します。...