るりまサーチ (Ruby 2.7.0)

最速Rubyリファレンスマニュアル検索!
17件ヒット [1-17件を表示] (0.021秒)
トップページ > バージョン:2.7.0[x] > クエリ:Mutex[x] > クエリ:lock[x] > 種類:インスタンスメソッド[x]

別のキーワード

  1. mutex_m lock
  2. mutex_m unlock
  3. mutex_m locked?
  4. mutex_m mu_lock
  5. mutex_m try_lock

ライブラリ

クラス

モジュール

キーワード

検索結果

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

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

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

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


@see Thread::Mutex#unlock
...

Mutex_m#lock -> () (63358.0)

self をロックします。一度にひとつのスレッドしかロックできません。 既にロックされている mutex に対してロックを行おうとしたスレッドは ロックが解放されるまで、実行が停止されます。

self をロックします。一度にひとつのスレッドしかロックできません。
既にロックされている mutex に対してロックを行おうとしたスレッドは
ロックが解放されるまで、実行が停止されます。

Thread::Mutex#unlock -> self (27490.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 # => Thr...

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

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

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

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

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

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

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

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

絞り込み条件を変える

Mutex_m#mu_lock -> () (27358.0)

self をロックします。一度にひとつのスレッドしかロックできません。 既にロックされている mutex に対してロックを行おうとしたスレッドは ロックが解放されるまで、実行が停止されます。

self をロックします。一度にひとつのスレッドしかロックできません。
既にロックされている mutex に対してロックを行おうとしたスレッドは
ロックが解放されるまで、実行が停止されます。

Mutex_m#mu_try_lock -> bool (27310.0)

self をロックしようとして、成功した場合、真を返し、ロックを得ます。

self をロックしようとして、成功した場合、真を返し、ロックを得ます。

ロックできなかった場合にはブロックせず偽を返します。

Mutex_m#try_lock -> bool (27310.0)

self をロックしようとして、成功した場合、真を返し、ロックを得ます。

self をロックしようとして、成功した場合、真を返し、ロックを得ます。

ロックできなかった場合にはブロックせず偽を返します。

Mutex_m#locked? -> bool (27304.0)

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

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

Mutex_m#mu_locked? -> bool (27304.0)

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

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

絞り込み条件を変える

Mutex_m#mu_unlock -> () (27304.0)

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

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

@raise ThreadError ロックされていない場合に unlock を呼ぶと発生します

Mutex_m#unlock -> () (27304.0)

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

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

@raise ThreadError ロックされていない場合に unlock を呼ぶと発生します

Thread::Mutex#owned? -> bool (9040.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 (9040.0)

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

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

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

@return スリープしていた秒数を返します。

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

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

//emlist[例][ruby]{
m = Mutex.new
th = Thread.new do
...

Monitor#enter -> () (184.0)

モニターをロックします。

モニターをロックします。

一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。

Thread::Mutex#lock に相当します。
Thread::Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ Monitor#exit を呼ばなければモニターは
解放されません。

//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.en...

絞り込み条件を変える

Monitor#mon_enter -> () (184.0)

モニターをロックします。

モニターをロックします。

一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。

Thread::Mutex#lock に相当します。
Thread::Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ Monitor#exit を呼ばなければモニターは
解放されません。

//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.en...

MonitorMixin#mon_enter -> () (184.0)

モニターをロックします。

モニターをロックします。

一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。

Thread::Mutex#lock に相当します。
Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ mon_exit を呼ばなければモニターは
解放されません。

//emlist[例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin)
buf.mon_ent...