Ruby 4.1 リファレンスマニュアル

instance method Thread#status

status -> String | false | nil[permalink][rdoc][edit]

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいずれかで返します。正常終了したスレッドに対して false、例外により終了したスレッドに対して nil を返します。

Thread#alive? が真を返すなら、このメソッドも真です。

p Thread.current.status #=> "run"

a = Thread.new { raise("die now") }
sleep 0.1
p a.status              #=> nil

b = Thread.new { Thread.stop }
sleep 0.1
p b.status              #=> "sleep"

c = Thread.new { Thread.exit }
sleep 0.1
p c.status              #=> false

d = Thread.new { sleep }
sleep 0.1
p d.status              #=> "sleep"
d.kill
sleep 0.1
p d.status              #=> false

[SEE_ALSO] Thread#alive?, Thread#stop?