22件ヒット
[1-22件を表示]
(0.024秒)
ライブラリ
-
rinda
/ tuplespace (11)
検索結果
-
Rinda
:: TupleSpace (18042.0) -
Tuple Space を表すクラスです。
...Tuple Space を表すクラスです。
このクラスのインスタンスを
drb を経由して公開することで
タプルスペースを他のプロセスからアクセスさせることができるようになります。
タプルスペースを drb 経由で利用する側は
DRb::DR......bObject.new_with_uri などでこのオブジェクトのリモートオブジェクトを
取得し、Rinda::TupleSpaceProxy をかぶせることで利用します。
===[a:renewer] タプルの寿命と renewer
タプルを Rinda::TupleSpace#write などで追加するときにその寿命を......てからその秒数過ぎるとタプルは削除されます。
ただし、指定秒数を過ぎてもすぐには削除されず、Rinda::TupleSpace.new の
引数で指定した秒数ごとに「掃除用スレッド」が動き、それによって
cancel されたタプルや期限切れに... -
rinda
/ rinda (186.0) -
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
...Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
タプルスペースとは並列プログラムにおける一つのパターンです。
並列プログラミングにおいては、ロックのような同期処理が必須ですが、
適切な...... DRb.uri を使うことで rindac.rb のプロセスを
一意に同定しているからです。
# rinda_ts.rb
require 'drb/drb'
require 'rinda/tuplespace'
uri = ARGV.shift
DRb.start_service(uri, Rinda::TupleSpace.new)
puts DRb.uri
DRb.thread.join
# rindas.rb
require 'drb/......drb'
require 'rinda/rinda'
def do_it(v)
puts "do_it(#{v})"
v + v
end
uri = ARGV.shift || raise("usage: #{$0} <server_uri>")
DRb.start_service
ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, uri))
while true
r = ts.take(['sum', nil, nil])
v = do_it(r[2])...