Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Threadクラス > exit
exit -> self
[permalink][rdoc]kill -> self
terminate -> self
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
ただし、スレッドは終了処理中(aborting)にはなりますが、 直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより 終了したスレッドの Thread#value の返り値は不定です。 自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0) により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do begin sleep 10 ensure p "this will be displayed" end end sleep 0.1 th1.kill #=> "this will be displayed"
[SEE_ALSO] Kernel.#exit, Kernel.#exit!