71件ヒット
[1-71件を表示]
(0.228秒)
キーワード
- [] (11)
- alive? (11)
- raise (5)
- resume= (11)
-
thread
_ variable _ get (11)
検索結果
先頭5件
-
Fiber
# resume(*arg = nil) -> object (18254.0) -
自身が表すファイバーへコンテキストを切り替えます。 自身は resume を呼んだファイバーの子となります。
...バーへコンテキストを切り替えます。
自身は resume を呼んだファイバーの子となります。
ただし、Fiber#transfer を呼び出した後に resume を呼び出す事はでき
ません。
@param arg self が表すファイバーに渡したいオブジェクトを......指定します。
@return コンテキストの切り替えの際に Fiber.yield に与えられた引数
を返します。ブロックの終了まで実行した場合はブロックの評価結果
を返します。
@raise FiberError 自身が既に終了している場合、......る場合、自身が resume を
呼んだファイバーの親かその祖先である場合に発生します。
また、Fiber#transfer を呼び出した後に resume を
呼び出した場合に発生します。
//emlist[例:][ruby]{
f =... -
Net
:: FTP # resume -> bool (18208.0) -
現在のリジュームモードの状態を返します。
...合に
再開が可能になります。
デフォルトは false です。
転送の中断と再開が可能なのは以下のメソッドです。
* Net::FTP#get
* Net::FTP#put
* Net::FTP#getbinaryfile
* Net::FTP#putbinaryfile
転送が中断したかどうかは転送先に問題のフ......ァイルが存在するか
どうかで判定され、そのファイルサイズで再開する位置を
決めます。
@see Net::FTP#resume=... -
Net
:: FTP # resume=(boolean) (6208.0) -
現在のリジュームモードを設定します。
...現在のリジュームモードを設定します。
@param boolean trueならばリジュームモードを on にします。
@see Net::FTP#resume... -
Fiber
# alive? -> bool (6119.0) -
ファイバーが「生きている」時、真を返します。
...まだ Fiber#resume されていない
* ブロック内の評価が終了していない (Fiber.yield が呼ばれていない)
//emlist[例:][ruby]{
fr = Fiber.new{
Fiber.yield
"a"
}
p fr.alive? # => true
fr.resume # Fiber.yieldで戻ってくる
p fr.alive? # => true
fr.resume # ブロッ......ク内の評価を終えて戻ってくる
p fr.alive? # => false
//}... -
Thread
# thread _ variable _ get(key) -> object | nil (6107.0) -
引数 key で指定した名前のスレッドローカル変数を返します。
...:
Thread.new {
Thread.current.thread_variable_set("foo", "bar") # スレッドローカル
Thread.current["foo"] = "bar" # Fiber ローカル
Fiber.new {
Fiber.yield [
Thread.current.thread_variable_get("foo"), # スレッドローカル
Threa......}.resume
}.join.value # => ['bar', nil]
この例の "bar" は Thread#thread_variable_get により得られ
た値で、nil はThread#[] により得られた値です。
@see Thread#thread_variable_set, Thread#[]
@see https://magazine.rubyist.net/articles/0041/0041-200Special-note.html... -
Fiber
# raise(exception , message = nil , backtrace = nil) -> object (113.0) -
selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。
...selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。
Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError が発生します。
引数を渡さない場合、RuntimeError が発生します。......//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}
//emlist[ファイバー内のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop do
Fiber.yield(:loop)
end
:exit
end
p f.resume # => :loop
p f.... -
Thread
# [](name) -> object | nil (113.0) -
name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。
...取り出します。
name に対応するスレッド固有データがなければ nil を返し
ます。
@param name スレッド固有データのキーを文字列か Symbol で指定します。
//emlist[例][ruby]{
[
Thread.new { Thread.current["name"] = "A" },
Thread.new { Thread.curr......と異なる変数を返す事に注意してください。
//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 を切り替...