ブロッキング関数を使用してプロキシを呼び出すことが主なアクションであるスレッドを実行していて、それが何かを与えるのを待ちます。
揮発性ブール値とInterruptionの既知のパターンを使用しましたが、それが機能するかどうかはわかりません。のcatchブロックを追加しようとするとInterruptedException
、エラーが発生します。
InterruptedExceptionの到達不能なcatchブロック。この例外は、tryステートメントの本文からスローされることはありません。
したがって、を取得する予定がない場合InterruptedException
、これは、ブロックアクションから抜け出すことができないことを意味します。したがって、停止することはありません。
私は少し戸惑っています。何か案が?
public void run() {
Proxy proxy = ProxyFactory.generateProxy();
Source source;
while (!isStopped) {
try {
source = proxy.getPendingSources();
scheduleSource(source);
} catch (Exception e) {
log.error("UnExpected Exception caught while running",e);
}
}
}
public void stop() {
this.isStopped = true;
Thread.currentThread().interrupt();
}