Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > fiberライブラリ > Fiberクラス > alive?

instance method Fiber#alive?

alive? -> bool [added by fiber]

ファイバーが「生きている」時、真を返します。

このメソッドが真を返すのは以下の場合です。

  • まだ Fiber#resume されていない
  • ブロック内の評価が終了していない (Fiber.yield が呼ばれていない)

例:

fr = Fiber.new{
  Fiber.yield
  "a"
}

p fr.alive? # => true
fr.resume   # Fiber.yieldで戻ってくる
p fr.alive? # => true
fr.resume   # ブロック内の評価を終えて戻ってくる
p fr.alive? # => false
class Fiber