別のスレッド B を実行するスレッド A があります。スレッド A は、スレッド B をきれいに終了しようとするメソッド「stopExec()」を実装し、いくつかのタスクを終了できるようにします。したがって、私の stopExec メソッドは次のようになります。
private CountDownLatch lock;
public void stopExec() {
  lock = new CountDownLatch(1);
  threadB.finish();
  try {
    lock.await();
  } catch(InterruptedExcetion ie) {
    Log.d(null, "Thread A not locked.");
  }
  Log.d(null, "Finished.");
}
スレッド B にはスレッド A への参照があり、「threadA.lock.countDown();」を呼び出します。それが何をしていたとしても終わったとき。
例外がスローされるとどうなりますか...スレッドAは待機せず、単に続行します。誰かが私になぜ/何が間違っているのか説明してもらえますか. 他のケースでも同様の方法で CountDownLatch を使用しましたが、期待どおりに機能しています。
ありがとうございました!