クラスの継承リスト: MonitorMixin 要約 スレッドの同期機構としてのモニター機能を提供するモジュールです。 クラスに Module#include したり、オブジェクトに Object#extend したりすることでそのクラス/オブジェクトに モニタ機能を追加します。 例 消費者、生産者問題の例 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.empty? } # 配列が空である間はロックを開放して待つ print buf