るりまサーチ (Ruby 2.7.0)

最速Rubyリファレンスマニュアル検索!
8件ヒット [1-8件を表示] (0.031秒)
トップページ > バージョン:2.7.0[x] > クエリ:Monitor[x] > クエリ:synchronize[x]

別のキーワード

  1. socket iff_monitor
  2. monitor enter
  3. monitor new
  4. monitor try_enter
  5. monitor exit

ライブラリ

クラス

モジュール

キーワード

検索結果

Monitor#synchronize { ... } -> object (117325.0)

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

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

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

@see Monitor#enter

Monitor (114181.0)

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

スレッドの同期機構としてのモニター機能を提供するクラスです。
また同じスレッドから何度も lock できる Mutex としての機能も提供します。

MonitorMixin を include し、いくつかの別名を定義したクラスです。

=== 例

//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'

buf = []
mon = Monitor.new
empty_cond = mon.new_cond

# consumer
Thread.start do
loop do
mon.synchronize do
empty...

Monitor#mon_synchronize { ... } -> object (81325.0)

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

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

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

@see Monitor#enter

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

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

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

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

@see MonitorMixin#mon_enter

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

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

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

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

@see MonitorMixin#mon_enter

絞り込み条件を変える

MonitorMixin (18109.0)

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

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

クラスに Module#include したり、オブジェクトに
Object#extend したりすることでそのクラス/オブジェクトに
モニタ機能を追加します。

=== 例

//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'

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

# consumer
Thread.start do
lo...

monitor (18037.0)

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

スレッドの同期機構としてのモニター機能を提供するクラスです。
また同じスレッドから何度も lock できる Mutex としての機能も提供します。

モニターとは、一つの Mutex とそれに関連付けられた複数の
条件変数から構成された、スレッドの同期機構です。
Mutex と 条件変数によって同等の機能を実現することは
可能ですが、モニタの利点はライブラリがその関連を保証
していることです。

monitor は以下のような Thread::Mutex としての機能も提供します。
* lock の持ち主がスレッドである Mutex / 何度も lock できる Mutex
* l...

Thread.exclusive { ... } -> object (37.0)

VM グローバルの Mutex をロックし、ブロックを実行します。

VM グローバルの Mutex をロックし、ブロックを実行します。

このクラスメソッドの挙動は 1.8 以前とは違います。
Thread.exclusive は VM グローバルの Mutex の
synchronize を呼び出しているだけで、Thread.exclusive していないスレッドは動きます。
Thread::Mutex や Monitor などの他の排他制御の方法を検討してください。