やや非正統的な状況 - 基本的に、スレッド A がスレッド B を監視しています。スレッド A が、スレッド B が担当する定期的なタスクの 1 つを検出した場合 (スレッド B は a の一部ではなくThreadPoolExecutor
、MINA のスレッドの 1 つです)、スレッド A は古くなりました。その上でエラーを報告します。したがって、これらのエラーが発生しているため、スレッド B がどこで詰まっているかを知りたいと考えています。したがって、スレッド A がスレッド B を呼び出しgetStackTrace()
てスタックを出力するのが賢明なようです。
実際には、タスクが実行されていない場合、スレッド B がブロックされているため、スレッド B のスタックがかなりの時間変更されていない可能性があるため、これをわずかに実行しても問題ありません。しかし、理論上、また実際には、スレッド A がスタック トレースを取得しようとすると、スレッド B のスタックが変化することがあります。したがって、これがスレッドセーフな操作であるかどうか疑問に思っています。