次のコードでさまざまな IP に ping を実行して、接続を確認しようとしています。
ipAdd = InetAddress.getByName(ipAddress);
boolean isConnected = ipAdd.isReachable(3000);
しかし、私はこのエラーが発生します。
java.net.ConnectException: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full
その理由は、このプロセスを同時に実行している約 1000 のスレッドがあることです。これらの IP をキューに入れておくことを考えました。しかし、そのためには、使用できるスレッドの最大数を知りたいです。上記のコードを実行するために同時にトリガーされるスレッドの数を把握できるように、バッファースペースを見つける方法はありますか? キューイング方法以外の回避策/解決策をいただければ幸いです。