種類
- インスタンスメソッド (9)
- クラス (3)
- ライブラリ (1)
- 文書 (1)
- 特異メソッド (1)
ライブラリ
-
rinda
/ rinda (9) -
rinda
/ tuplespace (4)
クラス
キーワード
- InvalidHashTupleKey (1)
- Tuple (1)
- TupleSpaceProxy (1)
- new (1)
- notify (2)
- read (2)
-
read
_ all (2) -
ruby 1
. 8 . 4 feature (1) - take (2)
- write (1)
検索結果
先頭5件
-
rinda
/ rinda (114085.0) -
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
タプルスペースとは並列プログラムにおける一つのパターンです。
並列プログラミングにおいては、ロックのような同期処理が必須ですが、
適切な同期処理を実現することは困難をともないます。
このパターンにおいては、複数の並列単位(スレッド/プロセス)間の通信をすべて
タプルスペースという領域を経由して行います。これによって
プロセス間の通信トポロジーを単純化し、問題を簡単化します。
タプルスペースに対しては、タプルを書き込む(write)、取り出す(take)、
タプルの要素を覗き見る(read)
という操作の... -
Rinda
:: Tuple (42049.0) -
Tuple のためのクラスです。ユーザがこのクラスを直接使うことはありません。
Tuple のためのクラスです。ユーザがこのクラスを直接使うことはありません。 -
Rinda
:: InvalidHashTupleKey (42001.0) -
Rinda::TupleSpace#write などで不正なハッシュテーブル(キーが 文字列でないもの)をタプルスペースに書き込もうとすると発生すると発生する 例外です。
Rinda::TupleSpace#write などで不正なハッシュテーブル(キーが
文字列でないもの)をタプルスペースに書き込もうとすると発生すると発生する
例外です。 -
Rinda
:: TupleSpaceProxy (42001.0) -
リモートの Rinda::TupleSpace オブジェクトを包む プロクシクラスです。
リモートの Rinda::TupleSpace オブジェクトを包む
プロクシクラスです。
Rinda::TupleSpace#take でタプルの受け渡し時にタプルが
消失する可能性を下げるためのプロクシクラスです。 -
Rinda
:: TupleSpaceProxy # write(tuple , sec = nil) -> Rinda :: TupleEntry (33736.0) -
tuple をタプルスペースに加えます。 tuple を管理するための Rinda::TupleEntry オブジェクトを返します。
tuple をタプルスペースに加えます。
tuple を管理するための Rinda::TupleEntry オブジェクトを返します。
内部的にはリモートオブジェクトの Rinda::TupleSpace#write にフォワードされます。
詳細は Rinda::TupleSpace#write を参照してください。
@param tuple 追加する tuple (配列かHash)
@param sec 有効期限(秒数) -
Rinda
:: TupleSpaceProxy # read(tuple , sec=nil) -> [Array|Hash] (33370.0) -
タプルスペース内の tuple にマッチするタプルを一つコピーして返します。
タプルスペース内の tuple にマッチするタプルを一つコピーして返します。
内部的にはリモートオブジェクトの Rinda::TupleSpace#read にフォワードされます。
詳細は Rinda::TupleSpace#read を参照してください。
@param tuple タプルのパターン
@param sec タイムアウト秒数
@raise Rinda::RequestExpiredError read がタイムアウトした場合に発生します
@raise Ridna::RequestCanceledError read が何らかの理由でキャンセルされた場合に発生します。 -
Rinda
:: TupleSpaceProxy # read _ all(tuple) -> [Array|Hash] (33370.0) -
タプルスペース内の tuple にマッチするタプルをすべてコピーして返します。
タプルスペース内の tuple にマッチするタプルをすべてコピーして返します。
内部的にはリモートオブジェクトの Rinda::TupleSpace#read_all にフォワードされます。
詳細は Rinda::TupleSpace#read_all を参照してください。
@param tuple タプルのパターン -
Rinda
:: TupleSpaceProxy # take(tuple , sec = nil) -> Array | Hash (33370.0) -
tuple にマッチするタプルをタプルスペースから取り出して返します。
tuple にマッチするタプルをタプルスペースから取り出して返します。
内部的にはリモートオブジェクトの Rinda::TupleSpace#take にフォワードされます。
詳細は Rinda::TupleSpace#take を参照してください。
@param tuple タプルのパターン
@param sec タイムアウト秒数
@raise Rinda::RequestExpiredError take がタイムアウトした場合に発生します
@raise Ridna::RequestCanceledError take が何らかの理由でキャンセルされた場合に発生します。 -
Rinda
:: TupleSpaceProxy # notify(ev , tuple , sec = nil) -> Rinda :: NotifyTemplateEntry (33304.0) -
event で指定した種類のイベントの監視を開始します。
event で指定した種類のイベントの監視を開始します。
内部的にはリモートオブジェクトの Rinda::TupleSpace#notify にフォワードされます。
詳細は Rinda::TupleSpace#notify 参照してください
@param event 監視対象のイベント(文字列)
@param pattern 監視対象となるタプルのパターン
@param sec 監視期間の長さ(秒数) -
Rinda
:: TupleSpaceProxy . new(ts) -> Rinda :: TupleSpaceProxy (33301.0) -
ts を wrap した新たな TupleSpaceProxy オブジェクトを生成します。
ts を wrap した新たな TupleSpaceProxy オブジェクトを生成します。
@param ts ラップするリモート Rinda::TupleSpace オブジェクト -
Rinda
:: TupleSpace # read(tuple , sec=nil) -> [Array|Hash] (9406.0) -
タプルスペース内の tuple にマッチするタプルを一つコピーして返します。
タプルスペース内の tuple にマッチするタプルを一つコピーして返します。
このメソッド呼び出しが終了しても、タプルスペースからタプルは取り除かれません。
tuple で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照してください。
マッチするタプルが存在しない場合は、マッチするタプルがタプルスペースに
投入されるまで待ちます。
sec でタイムアウト秒数を指定できます。
待ち時間が sec 秒を過ぎた時には read をあきらめ
例外 Rinda::RequestExpiredError を発生させます。
sec に nil を指定す... -
Rinda
:: TupleSpace # read _ all(tuple) -> [Array|Hash] (9406.0) -
タプルスペース内の tuple にマッチするタプルをすべてコピーして返します。
タプルスペース内の tuple にマッチするタプルをすべてコピーして返します。
このメソッド呼び出しが終了しても、タプルスペースからタプルは取り除かれません。
tuple で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照してください。
マッチするタプルが存在しない場合は、待たずに空の配列を返します。
このメソッドは主にデバッグのための利用を想定しています。
@param tuple タプルのパターン -
Rinda
:: TupleSpace # take(tuple , sec = nil) -> Array | Hash (9406.0) -
tuple にマッチするタプルをタプルスペースから取り出して返します。
tuple にマッチするタプルをタプルスペースから取り出して返します。
tuple で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照してください。
マッチするタプルが存在しない場合は、マッチするタプルがタプルスペースに
投入されるまで待ちます。
sec でタイムアウト秒数を指定できます。
待ち時間が sec 秒を過ぎた時には take をあきらめ
例外 Rinda::RequestExpiredError を発生させます。
sec に nil を指定するとタイムアウトせずに無限に待ち続けます。
@param tuple タプルのパター... -
Rinda
:: TupleSpace # notify(event , pattern , sec = nil) -> Rinda :: NotifyTemplateEntry (9055.0) -
event で指定した種類のイベントの監視を開始します。
event で指定した種類のイベントの監視を開始します。
イベントを生じさせたタプルがpattern にマッチした場合にのみ報告されます。
イベントが生じた場合、
このメソッドの返り値の Rinda::NotifyTemplateEntry を経由し、
Rinda::NotifyTemplateEntry#each を用いて報告を受け取ります。
sec で監視期間を秒数で指定できます。 nil で無限に監視し続けます。
event として以下の3つを指定できます。
* 'write' : タプルが追加された
* 'take' : タプルが take された
* 'delet... -
ruby 1
. 8 . 4 feature (55.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され...