るりまサーチ

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

別のキーワード

  1. date mon
  2. monitor mon_exit
  3. monitor mon_enter
  4. monitor try_mon_enter
  5. monitor mon_try_enter

ライブラリ

クラス

モジュール

キーワード

検索結果

MonitorMixin#mon_exit -> () (18113.0)

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

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

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

@raise ThreadError ロックを持っていないスレ...

Monitor#mon_exit -> () (15113.0)

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

...ドが一つ実行を再開します。

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

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

Monitor#exit -> () (28.0)

MonitorMixin#mon_exit の別名です。

...torMixin#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)
//}...
...ドが一つ実行を再開します。

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

//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 -> () (12.0)

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

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

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

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

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