るりまサーチ

最速Rubyリファレンスマニュアル検索!
6件ヒット [1-6件を表示] (0.065秒)

別のキーワード

  1. signal trap
  2. _builtin signal
  3. conditionvariable signal
  4. signal list
  5. signal signame

ライブラリ

キーワード

検索結果

Mutex#lock -> self (8.0)

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

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

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


@see Thread::Mutex#unlock...

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

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

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

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

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

//emlist[例][ruby]{
m = Mutex.new
result = m.synchronize do
m.locked? # => true
# critical part
"result"
end
m.locked? # => false
result # => "result"...

Mutex#unlock -> self (8.0)

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

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

@return self を返します。

例:

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

Mutex
はロックしたスレッド以外からロッ...
...

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

@raise ThreadError self がロックされていない場合や self をロックしたス
レッド以外から呼ばれた場合に発生します。
また、Signal.#trap に...