私はこのように見えるいくつかのコードを持っています:
executorService.submit(new Runnable() {
@Override public void run() {
while (!Thread.currentThread().isInterrupted()) {
doWork();
}
}
});
このコードは、割り込みフラグが内部のどこかでクリアされているため、whileループを終了できない場合がありますdoWork()
。このメソッドは、サードパーティのライブラリを呼び出します。そのうちの1つは、割り込みを飲み込んでいます。
まず、これを診断するために使用できる特定の手法はありますか?第二に、この種のバグを見つけることができる静的分析ツールはありますか?