ObjectPool for Ruby

ObjectPool

ObjectPoolはオブジェクトやリソースを一定数プールしておきそれらを複数のオブジェクトからシェアして使うもので>す。ObjectPool#createメソッドでオブジェクトを生成するコードを記述しておき、使用者側はObjectPool#getメソッドでオブジェクトを取得し、ObjectPool#releaseメソッドで解放します。

API

Class Method

ObjectPool.instance
ObjectPoolを返します。Singletonです。

Instance Method

ObjectPool#create
オブジェクトを生成します。まずはこのメソッドをオーバーライドしてください。
ObjectPool#get
オブジェクトを取得します。全てのオブジェクトが使用中の場合はtimeoutになるまで待ち、それでも駄目な場合はTimeoutErrorを起こします。
ObjectPool#release(object)
オブジェクトをリリー オブジェクトをリリースします。
ObjectPool#max=(size)
ObjectPool#max
プーリングするオブジェクトの最大値を指定・参照します。デフォルトは10です。
ObjectPool#timeout=(sec)
ObjectPool#timeout
オブジェクトが全て使用中の場合にインスタンスを返す待ち時間を指定・参照します。デフォルトはnil(無限大)です。
ObjectPool#wait=(sec)
ObjectPool#wait
ループを呼び出す間隔を指定・参照します。デフォルトは1秒です。
ObjectPool#out=(out)
ObjectPool#out
エラーメッセージの出力先を指定・参照します($stdout, $stderr)。
更新日時:2004/04/28 01:36:46
キーワード:
参照:[よたらぼ 保管庫]