"Pinging" eficiente con Java

¿Cómo podría pasar de manera más eficiente a través de una base de datos de 12,000 direcciones IP y abrir un socket con todas ellas? Actualmente estoy trabajando así:

  • Obtenga todas las IP en la lista
  • Por cada IP, abra un nuevo hilo que abra un socket con el servidor y reciba un paquete de él.
  • En el nuevo hilo, actualice la información basada en el clima en que la IP está en línea y lo que devuelve cuando abrimos el socket.

Mi solución actual funciona, solo lleva años pasar por la base de datos una vez. Estoy tratando de encontrar una manera de atravesar la base de datos extremadamente rápido; Sin embargo, no sé por dónde empezar. Cualquier ayuda es apreciada, gracias!

EDITAR: Estoy abriendo un socket y enviando un paquete TCP, luego almacenando la información.

Respuesta 1

Estoy tratando de hacer un método en CrudRepository que pueda darme duplicados en mi tabla. Quiero encontrar una persona que tenga el mismo nombre y el mismo día de cumpleaños. Por eso lo creo ...

Creé un proyecto Java con dos paquetes usando Eclipse en mi computadora de escritorio. Cada paquete tiene varios archivos, incluidas algunas pruebas JUnit. El directorio raíz del proyecto se encuentra en mi Dropbox ...

'el siguiente código funciona bien con ciertas entradas y no con otras, el código es una implementación de una lista enlazada circular dada una = longitud de la lista y k = pasos a seguir para eliminar el ...

Estoy tratando de capturar imágenes de una aplicación flash que se ejecuta en un navegador y procesarlas en una aplicación Java. Hasta ahora, estoy usando (simplificado): Robot r; BufferedImage i = r ....