[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] Thread#interrupt()
こんにちは。下村です。(本名を名乗るようにしました)
疑問なのですが、Thread#sleep() や Object#wait() などは
java.lang.InterruptedException を投げますよね。
この例外が存在する理由は何なのでしょう?
JDK のリファレンスには Thread#interrupt() によって中断されたときに
投げられるとあるだけです。そこで簡単なプログラムを書いて
実験してみましたが、interrupt() を呼び出しても必ずしも中断する
わけではなく、いまいち用途が分かりません。
さらによく分からないのが、Thread#interrupted() で、
これはカレントスレッドが中断されているかどうか調べる
(Tests if the current thread has been interrupted.)とありますが、
中断されているスレッドからどうやって呼び出すのでしょう??
あるいは、has been を「させられたことがある」と訳すのかな?
いずれにしても、「こういう役に立つ」という例をご存知の方が
いらっしゃいましたら、教えてください。
では。
=== == = TACT/下村哲人 神奈川県横浜市 = == ===
=== == = E-mail: tact@xxxxxxxxxx = == ===