るりまサーチ

最速Rubyリファレンスマニュアル検索!
187件ヒット [1-100件を表示] (0.093秒)
トップページ > クエリ:t[x] > クエリ:Fiber[x]

別のキーワード

  1. openssl t61string
  2. asn1 t61string
  3. matrix t
  4. t61string new
  5. fiddle type_size_t

ライブラリ

クラス

検索結果

<< 1 2 > >>

Fiber (38120.0)

ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。

...ファイバーと呼ぶ)を提供します。
他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。
T
hread と違いユーザレベルスレッドとして実装されています。

T
hread クラスが表すスレッドと違い、明示的に指定しな...
...係を持ちます。Fiber#resume を呼んだファイバーが親になり
呼ばれたファイバーが子になります。親子関係を壊すような遷移(例えば
自分の親の親のファイバーへ切り替えるような処理)はできません。
例外 FiberError が発生しま...
...す。
できることは
* Fiber#resume により子へコンテキストを切り替える
* Fiber.yield により親へコンテキストを切り替える
の二通りです。この親子関係は一時的なものであり
親ファイバーへコンテキストを切り替えた時点で解...

Fiber.current -> Fiber (27253.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>
//}...

Fiber#transfer(*args) -> object (27160.0)

自身が表すファイバーへコンテキストを切り替えます。

...表すファイバーへコンテキストを切り替えます。

自身は Fiber#resume を呼んだファイバーの子となります。
Fiber
#resume との違いは、ファイバーが終了したときや Fiber.yield が呼ばれたときは、
ファイバーの親へ戻らずにメイン...
...ァイバーから呼び出した Fiber#resume メソッドの返り値として渡したいオブジェクトを指定します。

@return コンテキスト切り替えの際に、Fiber#resume メソッドに与えられた引数を返します。

@raise FiberError 自身が既に終了してい...
...えが Thread クラスが表すスレッド間をまたがる場合、
Fiber
#resume を呼んだファイバーがその親か先祖である場合に発生します。

//emlist[例:][ruby]{
require 'fiber'

fr1 = Fiber.new do |v|
:fugafuga
end

fr2 = Fiber.new do |v|
fr1.transfe...

Fiber#raise -> object (21146.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...が表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

Fiber
.yield が呼ばれていないかファイバーがすでに終了している場合、
Fiber
Error が発生します。

引数を渡さない場合、RuntimeError が発生します。
messa...
...ge 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。

その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。...
...す。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指定します。

//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内...

Fiber#raise(exception, message = nil, backtrace = nil) -> object (21146.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...が表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

Fiber
.yield が呼ばれていないかファイバーがすでに終了している場合、
Fiber
Error が発生します。

引数を渡さない場合、RuntimeError が発生します。
messa...
...ge 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。

その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。...
...す。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指定します。

//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内...

絞り込み条件を変える

Fiber#raise(message) -> object (21146.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...が表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

Fiber
.yield が呼ばれていないかファイバーがすでに終了している場合、
Fiber
Error が発生します。

引数を渡さない場合、RuntimeError が発生します。
messa...
...ge 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。

その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。...
...す。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指定します。

//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内...

Fiber#resume(*arg = nil) -> object (21136.0)

自身が表すファイバーへコンテキストを切り替えます。 自身は resume を呼んだファイバーの子となります。

...なります。

ただし、Fiber#transfer を呼び出した後に resume を呼び出す事はでき
ません。

@param arg self が表すファイバーに渡したいオブジェクトを指定します。

@return コンテキストの切り替えの際に Fiber.yield に与えられた引...
...の終了まで実行した場合はブロックの評価結果
を返します。

@raise FiberError 自身が既に終了している場合、コンテキストの切替が
T
hread クラスが表すスレッド間をまたがる場合、自身が resume を...
...また、Fiber#transfer を呼び出した後に resume を
呼び出した場合に発生します。

//emlist[例:][ruby]{

f = Fiber.new do
Fiber
.yield(:hoge)
:fuga
end

p f.resume() #=> :hoge
p f.resume() #=> :fuga
p f.resume() #=> FiberError: dead fiber called
//}...

Fiber.yield(*arg = nil) -> object (21124.0)

現在のファイバーの親にコンテキストを切り替えます。

...際に Fiber#resume に与えられた引数を yield メソッドは返します。

@param arg 現在のファイバーの親に渡したいオブジェクトを指定します。

@raise FiberError Fiber でのルートファイバーで呼ばれた場合に発生します。


//emlist[例:][rub...
...y]{
a = nil
f = Fiber.new do
a = Fiber.yield()
end

f.resume()
f.resume(:foo)

p a #=> :foo
//}...

continuation (12006.0)

Ruby 1.9 以降で継続オブジェクトを扱うためのライブラリです。

...Ruby 1.9 以降で継続オブジェクトを扱うためのライブラリです。

Ruby 2.2.0から非推奨になりました。代わりにFiberを使ってください。...

Thread#thread_variable_get(key) -> object | nil (9136.0)

引数 key で指定した名前のスレッドローカル変数を返します。

...]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、Fiber を切り替えても同じ変数を返す事に注意してください。

例:

T
hread.new {
T
hread.current.thread_variable_set("foo", "bar") # スレッドローカル
T
hread.current["foo"...
...# Fiber ローカル

Fiber
.new {
Fiber
.yield [
T
hread.current.thread_variable_get("foo"), # スレッドローカル
T
hread.current["foo"], # Fiber ローカル
]
}.resume
}.join.value # => ['bar', nil]

この例の "bar" は Thread#thre...
...ad_variable_get により得られ
た値で、nil はThread#[] により得られた値です。

@see Thread#thread_variable_set, Thread#[]

@see https://magazine.rubyist.net/articles/0041/0041-200Special-note.html...

絞り込み条件を変える

<< 1 2 > >>