るりまサーチ

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

別のキーワード

  1. _builtin -
  2. open-uri open
  3. irb/input-method new
  4. irb/input-method gets
  5. matrix -

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 > >>

MonitorMixin (44042.0)

スレッドの同期機構としてのモニター機能を提供するモジュールです。

...][ruby]{
require 'monitor'

buf = []
buf.extend(MonitorMixin) # 配列にモニタ機能を追加
empty_cond = buf.new_cond # 配列が空であるかないかを通知する条件変数

# consumer
Thread.start do
loop do
buf.synchronize do # ロックする
empty_cond.wait_while { buf....
...line = ARGF.gets
buf.synchronize do # ロックする
buf.push(line) # 配列を変更(追加)
empty_cond.signal # 配列に要素が追加されたことを条件変数を通して通知
end # ここでロックを開放
end
//}

=== 初期化

MonitorMixin
は初期化される必要...
...使って利用する場合は
自動的に初期化されます。

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

しかし、MonitorMixin をクラス定義の際に Module#include を使って
利用する場合は、initialize メソッドで super()...

MonitorMixin#mon_synchronize { ... } -> object (36306.0)

モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

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

ブロックの評価値を返り値として返します。

@see MonitorMixin#mon_enter...

MonitorMixin#synchronize { ... } -> object (33206.0)

モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

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

ブロックの評価値を返り値として返します。

@see MonitorMixin#mon_enter...

MonitorMixin#new_cond -> MonitorMixin::ConditionVariable (30617.0)

モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。

...モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。...

MonitorMixin#mon_enter -> () (30206.0)

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

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

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

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

絞り込み条件を変える

MonitorMixin#mon_exit -> () (30200.0)

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

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

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

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

@raise...

MonitorMixin#mon_locked? -> bool (30200.0)

モニターがロックされているときに true を返します。

モニターがロックされているときに true を返します。

MonitorMixin#mon_owned? -> bool (30200.0)

カレントスレッドがモニターをロックしているときに true を返します。

カレントスレッドがモニターをロックしているときに true を返します。

MonitorMixin#mon_try_enter -> bool (30200.0)

モニターのロックを取得しようと試みます。 ロックに成功した(ロックが開放状態だった、もしくは ロックを取得していたスレッドが自分自身であった)場合には 真を返します。

モニターのロックを取得しようと試みます。
ロックに成功した(ロックが開放状態だった、もしくは
ロックを取得していたスレッドが自分自身であった)場合には
真を返します。

ロックができなかった場合は偽を返し、実行を継続します。この場合には
スレッドはブロックしません。

MonitorMixin#try_mon_enter -> bool (30200.0)

モニターのロックを取得しようと試みます。 ロックに成功した(ロックが開放状態だった、もしくは ロックを取得していたスレッドが自分自身であった)場合には 真を返します。

モニターのロックを取得しようと試みます。
ロックに成功した(ロックが開放状態だった、もしくは
ロックを取得していたスレッドが自分自身であった)場合には
真を返します。

ロックができなかった場合は偽を返し、実行を継続します。この場合には
スレッドはブロックしません。

絞り込み条件を変える

<< 1 2 > >>