- ベストアンサー
JavaマルチスレッドでSleepを使わずに終了
C#(.NET Framework)では、マルチスレッドで動作しているメソッドを抜けるには「Thread.Abort()」を実行してThreadAbortExceptionを発生させます。C#では原則として常にこの例外が発生しますが、Javaの場合、ループにSleep()がないと「InterruptedExceptionは到達不可能」というエラーが出てコンパイルができません。JavaでSleepを用意しない場合のループの抜け方はあるのでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
スレッドを中途中断できるように実装する場合の話ですよね? ここが参考になるかも。 http://okwave.jp/qa/q7258934.html interrupt は Abort と違って、フラグを立てるだけというところがミソです。
お礼
Thread.currentThread().isInterrupted()で判断するということですね。参考になりました。ご回答ありがとうございます。