るりまサーチ

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

別のキーワード

  1. etc sc_xopen_enh_i18n
  2. rsa n=
  3. pop n_mails
  4. rsa n
  5. openssl n

ライブラリ

クラス

モジュール

キーワード

検索結果

Monitor#exit -> () (24194.0)

MonitorMixin#mon_exit の別名です。

...MonitorMixin#mon_exit の別名です。

enter でロックした回数だけ exit を呼ばなければモニターは解放されません。

モニターが解放されればモニターのロック待ちになっていた
スレッドが一つ実行を再開します。

@raise ThreadError ロ...
...ックを持っていないスレッドが呼びだした場合に発生します

//emlist[例][ruby]{
require 'monitor'
mon
= Monitor.new
mon
.enter
mon
.enter
mon
.exit
mon
.exit
mon
.exit # => current thread not owner (ThreadError)
//}...
...モニターのロックを解放します。

enter でロックした回数だけ exit を呼ばなければモニターは解放されません。

モニターが解放されればモニターのロック待ちになっていた
スレッドが一つ実行を再開します。

@raise ThreadErro...
...r ロックを持っていないスレッドが呼びだした場合に発生します

//emlist[例][ruby]{
require 'monitor'
mon
= Monitor.new
mon
.enter
mon
.enter
mon
.exit
mon
.exit
mon
.exit # => current thread not owner (ThreadError)
//}...

MonitorMixin#mon_exit -> () (21321.0)

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

...モニターのロックを解放します。

mon
_enter でロックした回数だけ mon_exit
呼ばなければモニターは解放されません。

モニターが解放されればモニターのロック待ちになっていた
スレッドが一つ実行を再開します。

@raise...

Monitor#mon_exit -> () (18364.0)

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

...モニターのロックを解放します。

enter でロックした回数だけ exit を呼ばなければモニターは解放されません。

モニターが解放されればモニターのロック待ちになっていた
スレッドが一つ実行を再開します。

@raise ThreadErro...
...r ロックを持っていないスレッドが呼びだした場合に発生します

//emlist[例][ruby]{
require 'monitor'
mon
= Monitor.new
mon
.enter
mon
.enter
mon
.exit
mon
.exit
mon
.exit # => current thread not owner (ThreadError)
//}...

MonitorMixin#mon_enter -> () (15226.0)

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

... mon_exit を呼ばなければモニターは
解放されません。

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

Mutex#lock ではデッドロックが起きます。

//emlist[Mutex でデッドロックする例][ruby]{
m = Mutex.ne...
...w
m.lock
m.lock # => deadlock; recursive locking (ThreadError)
//}...

Monitor#mon_enter -> () (12226.0)

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

...だけ Monitor#exit を呼ばなければモニターは
解放されません。

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

Thread::Mutex#lock ではデッドロックが起きます。

//emlist[Mutex でデッドロックする例][ruby]{
m = Mutex.new
m.lo...
...ck
m.lock # => deadlock; recursive locking (ThreadError)
//}...

絞り込み条件を変える

Monitor#enter -> () (9141.0)

MonitorMixin#mon_enter の別名です。

...MonitorMixin#mon_enter の別名です。

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

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

Thread::Mutex#lock ではデッドロックが起きます。

//emlist[Mutex でデッドロックする例][ruby]{
m = Mutex.new
m.lock
m.lock # => deadlock; recursive locking (ThreadError)
//}...
...だけ Monitor#exit を呼ばなければモニターは
解放されません。

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

Thread::Mutex#lock ではデッドロックが起きます。

//emlist[Mutex でデッドロックする例][ruby]{
m = Mutex.new
m.lo...
...ck
m.lock # => deadlock; recursive locking (ThreadError)
//}...