247件ヒット
[1-100件を表示]
(0.171秒)
クラス
-
DRb
:: DRbServer (11) - Thread (44)
-
Thread
:: ConditionVariable (22) -
Thread
:: Queue (33) -
Thread
:: SizedQueue (33)
モジュール
- DRb (11)
キーワード
- ConditionVariable (11)
- MonitorMixin (11)
-
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 2
. 7 . 0 (5) -
backtrace
_ locations (22) - broadcast (11)
- deq (22)
- drb (11)
- fork (11)
- new (11)
- pop (22)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) - shift (22)
- signal (11)
-
start
_ service (11) - セキュリティモデル (11)
検索結果
先頭5件
-
Thread
. start(*arg) {|*arg| . . . } -> Thread (21369.0) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
...
スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されま......す。スレッドの開始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼......ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。
for i in 1..5
Thread.start { p i }
end
上の例は以下のように書き直すべきです。
for i in 1..5
Thread.start(i) {|t| p t }
end... -
DRb
. # start _ service(uri=nil , front=nil , config _ or _ acl=nil) -> () (12307.0) -
dRuby のサービス(サーバ)を起動します。
...dRuby のサービス(サーバ)を起動します。
これで起動したサーバはプロセスのプライマリサーバとなります。
すでにプライマリサーバが存在する場合は上書きされます。
uri に URI を文字列で指定すると、それに起動したサ......す。
通常は 'druby://<hostname>:<port>' という形式の URI を指定します。
このときは TCP が通信手段として使われます。
'drbunix:' のような他のプロトコルを指定することもできます。
front でフロントオブジェクト(URI に結び付けら......項目が利用できます。
: :idconv
dRuby内部で識別子とオブジェクトを相互に変換するためのオブジェクト。
デフォルトは DRb::DRbIdConv のインスタンス。
: :verbose
真を指定すると失敗したdRuby経由のメソッドのログを
$stdout... -
ruby 1
. 6 feature (8352.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) ->......ruby-talk:40015>)),
((<ruby-win32:366>))
: 2002-09-12: Thread.status (?)
シグナルを trap でトラップしたときにスレッドの状態を保持していなかっ
たためシグナルに割り込まれたスレッドの状態がおかしくなることがありま
した((<ruby-......: 2002-04-19: 終了処理
以下のスクリプトで 2 回シグナルを送らないと終了しない不具合が修正さ
れました。((<ruby-bugs-ja:PR#223>))
trap(:TERM, "EXIT")
END{
puts "exit"
}
Thread.start { Thread.stop }
sleep
: 2002-04-17: Regexp#i... -
Thread
# backtrace _ locations(range) -> [Thread :: Backtrace :: Location] | nil (6429.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
...
スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します......。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。
//em......list[例][ruby]{
thread = Thread.new { sleep 1 }
thread.run
thread.backtrace_locations # => ["/path/to/test.rb:1:in `sleep'", "/path/to/test.rb:1:in `block in <main>'"]
//}
@see Thread::Backtrace::Location... -
Thread
# backtrace _ locations(start = 0 , length = nil) -> [Thread :: Backtrace :: Location] | nil (6429.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
...
スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します......。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。
//em......list[例][ruby]{
thread = Thread.new { sleep 1 }
thread.run
thread.backtrace_locations # => ["/path/to/test.rb:1:in `sleep'", "/path/to/test.rb:1:in `block in <main>'"]
//}
@see Thread::Backtrace::Location... -
Thread
. fork(*arg) {|*arg| . . . } -> Thread (6269.0) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
...
スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されま......す。スレッドの開始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼......ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。
for i in 1..5
Thread.start { p i }
end
上の例は以下のように書き直すべきです。
for i in 1..5
Thread.start(i) {|t| p t }
end... -
Thread
:: ConditionVariable # broadcast -> self (6244.0) -
状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
...スレッドをすべて再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.star......t {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
end
puts "a2"
}
}
}
Thread.start {
mutex.synchronize {
flg = false
cv.broadcast
}
}
sleep 1
# => a1
# => a1
# => a1
# => a2
# => a2
# => a2
//}... -
DRb
:: DRbServer . new(uri=nil , front=nil , config _ or _ acl=nil) -> DRb :: DRbServer (6212.0) -
dRuby サーバを起動し、DRbServerのインスタンスを返します。
...dRuby サーバを起動し、DRbServerのインスタンスを返します。
uri に URI を文字列で指定すると、それに起動したサービスを bind します。
通常は 'druby://<hostname>:<port>' という形式の URI を指定します。
このときは TCP が通信手段......'drbunix:' のような他のプロトコルを指定することもできます。
front でフロントオブジェクト(URI に結び付けられるオブジェクト)を
設定します。
config で Hash で設定を渡します。以下の項目が利用できます。
: :idconv
dRuby......ト。
デフォルトは DRb::DRbIdConv のインスタンス。
: :verbose
真を指定すると失敗したdRuby経由のメソッドのログを
$stdout に出力します。デフォルトは false。
: :tcp_acl
サーバに設定する ACL(Access Control List)。詳しくは ACL... -
Thread
:: ConditionVariable (6100.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...スレッドの同期機構の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領......とします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くこと......のスレッド b において条件が満たされたなら signal
メソッドでスレッド a に対して条件が成立したことを通知します。これが典型的な
使用例です。
mutex = Mutex.new
cv = ConditionVariable.new
a = Thread.start {
mutex.synchroni... -
drb (6036.0)
-
分散オブジェクトプログラミングのためのライブラリです。
...です。
Ruby のプロセスから他のRubyプロセスにあるオブジェクトのメソッド
を呼びだすことができます。他のマシン上のプロセスにも
アクセスできます。
=== 概要
dRuby は Ruby 専用の分散オブジェクトシステムです。
Ruby の......クトの instance_eval を取り除く
undef :instance_eval
end
ro.instance_eval("DANGEROUS RUBY CODE!")
このような instance_eval による危険性は $SAFE を 1
にすることで防げます。
DRb.#start_service の :safe_level オプションで
リモートからのメソッド......と併用すべきです。
=== リファレンス
* http://www2a.biglobe.ne.jp/~seki/ruby/druby.html
* http://www.ruby-doc.org/stdlib/libdoc/drb/rdoc/index.html
=== Example
単純なクライアント-サーバシステムの例。
ターミナルを2つサーバ側/クライアント側と...