238件ヒット
[1-100件を表示]
(0.240秒)
種類
- インスタンスメソッド (175)
- 特異メソッド (45)
- クラス (11)
- 変数 (7)
ライブラリ
- ビルトイン (238)
キーワード
-
$ SAFE (7) - ThreadGroup (11)
- [] (11)
- alive? (11)
- define (4)
- exec (11)
- fetch (7)
- group (11)
- inspect (11)
- key? (11)
- keys (11)
- priority (11)
- priority= (11)
-
report
_ on _ exception (8) -
report
_ on _ exception= (8) -
safe
_ level (7) -
set
_ trace _ func (11) - status (11)
- stop? (11)
-
thread
_ variable? (11) -
thread
_ variable _ get (11) -
thread
_ variable _ set (11) -
to
_ s (7)
検索結果
先頭5件
-
Fiber
. current -> Fiber (26119.0) -
このメソッドが評価されたコンテキストにおける Fiber のインスタンスを返します。
...のメソッドが評価されたコンテキストにおける Fiber のインスタンスを返します。
//emlist[例:][ruby]{
fr = Fiber.new do
Fiber.current
end
fb = fr.resume
p fb.equal?(fr) # => true
p Fiber.current # => #<Fiber:0x91345e4>
p Fiber.current # => #<Fiber:0x91345e4>
//}... -
Thread
. current -> Thread (26107.0) -
現在実行中のスレッド(カレントスレッド)を返します。
...現在実行中のスレッド(カレントスレッド)を返します。
p Thread.current #=> #<Thread:0x4022e6fc run>... -
Thread
# [](name) -> object | nil (8042.0) -
name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。
...のキーを文字列か Symbol で指定します。
//emlist[例][ruby]{
[
Thread.new { Thread.current["name"] = "A" },
Thread.new { Thread.current[:name] = "B" },
Thread.new { Thread.current["name"] = "C" }
].each do |th|
th.join
puts "#{th.inspect}: #{th[:name]}"
end
# => #<Thread:0......す事に注意してください。
//emlist[][ruby]{
def meth(newvalue)
begin
oldvalue = Thread.current[:name]
Thread.current[:name] = newvalue
yield
ensure
Thread.current[:name] = oldvalue
end
end
//}
この関数に与えるブロックがFiberを切り替える場合は......は
正しく動作しません。
//emlist[][ruby]{
f = Fiber.new {
meth(1) {
Fiber.yield
}
}
meth(2) {
f.resume
}
f.resume
p Thread.current[:name]
# => nil if fiber-local
# => 2 if thread-local (The value 2 is leaked to outside of meth method.)
//}
Fiber を切り替えても同じ変... -
Thread
# thread _ variable _ get(key) -> object | nil (8024.0) -
引数 key で指定した名前のスレッドローカル変数を返します。
...Thread.current.thread_variable_set("foo", "bar") # スレッドローカル
Thread.current["foo"] = "bar" # Fiber ローカル
Fiber.new {
Fiber.yield [
Thread.current.thread_variable_get("foo"), # スレッドローカル
Thread.current["foo"],... -
Thread
# set _ trace _ func(pr) -> Proc | nil (8018.0) -
スレッドにトレース用ハンドラを設定します。
...を解除します。
設定したハンドラを返します。
//emlist[例][ruby]{
th = Thread.new do
class Trace
end
2.to_s
Thread.current.set_trace_func nil
3.to_s
end
th.set_trace_func lambda {|*arg| p arg }
th.join
# => ["line", "example.rb", 2, nil, #<Binding:0x00007fc8de87cb08>......=> ["line", "example.rb", 5, nil, #<Binding:0x00007fc8de967b08>, nil]
# => ["c-call", "example.rb", 5, :current, #<Binding:0x00007fc8de967798>, Thread]
# => ["c-return", "example.rb", 5, :current, #<Binding:0x00007fc8de9673b0>, Thread]
# => ["c-call", "example.rb", 5, :set_trace_func, #<Binding:0x0... -
ThreadGroup (8018.0)
-
スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。
...たすべてのThreadが終了するのを待つ
5.times {
Thread.new { sleep 1; puts "#{Thread.current} finished" }
}
(ThreadGroup::Default.list - [Thread.current]).each {|th| th.join}
puts "all threads finished"
対象の Thread が Thread を起こす可能性... -
Data
. define(*args) -> Class (8012.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end
def fetch(url)
fetcher = HTTPFetcher.new
case fetcher.get(url)
in HTTPFetcher::Response(body)
body
in HTTPFetcher::NotFound
:NotFound
end
end
p fetch("http://example.com/") # => "Current time i... -
Data
. define(*args) {|subclass| block } -> Class (8012.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end
def fetch(url)
fetcher = HTTPFetcher.new
case fetcher.get(url)
in HTTPFetcher::Response(body)
body
in HTTPFetcher::NotFound
:NotFound
end
end
p fetch("http://example.com/") # => "Current time i... -
Thread
# thread _ variable _ set(key , value) (8012.0) -
引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま す。
...り替えても共通で使える事に注意してく
ださい。
//emlist[例][ruby]{
thr = Thread.new do
Thread.current.thread_variable_set(:cat, 'meow')
Thread.current.thread_variable_set("dog", 'woof')
end
thr.join # => #<Thread:0x401b3f10 dead>
thr.thread_variables # => [... -
Kernel
$ $ SAFE -> Integer (8006.0) -
カレントスレッドのセーフレベルを表す整数です。
...スレッドのセーフレベルを表す整数です。
セーフレベルについてはspec/safelevel を参照してください。
Thread.current.safe_level と同じです。
非整数を代入しようとすると TypeError が発生します。
この変数はスレッドローカルで......プロセスのセーフレベルを表す整数です。
セーフレベルについてはspec/safelevel を参照してください。
Thread.current.safe_level と同じです。
非整数を代入しようとすると TypeError が発生します。
この変数はグローバルスコープ... -
Process
. exec(command , *args) -> () (8006.0) -
カレントプロセスを与えられた外部コマンドで置き換えます。
...からいくつかの環境を引き継ぎます。
@param command 実行する外部コマンド。
@param args command に渡す引数。
exec "echo *" # echoes list of files in current directory
# never get here
exec "echo", "*" # echoes an asterisk
# never get here... -
Thread
# alive? -> bool (8006.0) -
スレッドが「生きている」時、true を返します。
...「生きている」時、true を返します。
例:
thr = Thread.new { }
thr.join # => #<Thread:0x401b3fb0 dead>
Thread.current.alive? # => true
thr.alive? # => false
Thread#status が真を返すなら、このメソッドも真です。
@see Thread#stat...