すべてのスレッドを処理するために、Java API の threadPoolExecutor クラスを使用しています。現時点では、スレッド プールに存在できるスレッドが 5 つあります。私のスレッドはすべて同じタスクを実行しています。彼らはデータベースへの要求を行っており、応答を待っています。データベースがしばらく応答しないことがあります。これは、これらのスレッドが待機中のスレッド プールでスタックすることを意味します。
スレッドプール内のスレッドにタイムアウトを設定する方法はあるのだろうかと思っていました。そのため、スレッドが 30 分以上実行されている場合、スレッド プールはそのスレッドを強制終了し、キュー内の次のスレッドを処理します。私はしません
現在、スレッド プール内のスレッドには、スレッドが 30 分以上かかっていることをログに書き込む独自のタイマー タスクがあります。これだけ時間がかかるスレッドを殺す方法を考えようとしています。
どうやってやるの !