サイズプールの接続プールを維持し、プール内の各接続へのアクセスを制御するサイズNのセマフォーを持っています。アプリケーションは、データを送信しようとするとセマフォを取得し、応答またはソケットのタイムアウトを受信したときに解放します。セマフォーを使用した接続プールの管理(Java)
各接続に対して定期的なハートビートを送信する接続プール内で実行されるバックグラウンドスレッドがあります。今度はハートビートが失敗すると、その接続は閉じられ、新しいものを作成するように努力します。プール内の接続数が直接反映されるように許可を増減する必要があります。私はreducePermits(m)APIを使用して許可を減らすことはできますが、増加させるには、セマフォだけで何回もrelease()を呼び出しています(何も取得されていなくても)。