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!