るりまサーチ

最速Rubyリファレンスマニュアル検索!
38件ヒット [1-38件を表示] (0.087秒)
トップページ > クエリ:i[x] > クエリ:exit[x] > クエリ:mon_enter[x]

別のキーワード

  1. _builtin exit
  2. irb irb_exit
  3. monitor exit
  4. irb irb_at_exit
  5. _builtin exit!

ライブラリ

クラス

モジュール

キーワード

検索結果

MonitorMixin#mon_enter -> () (21119.0)

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

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

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

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

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

Monitor#mon_enter -> () (18107.0)

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

...す。ロックした回数だけ 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)
//}...

MonitorMixin#mon_exit -> () (15213.0)

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

...クを解放します。

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

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

@raise ThreadError ロック...

Monitor#enter -> () (3022.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.lock
m.lock # => deadlock; recursive locking (ThreadError)
//}...