Para eso hay lo que se llama un ConnectionPool. Busca información.
Puedes usar treads, pero limitando el número de conexiones para que no se cren demasiadas. Hay una serie de conexiones activas que comparten los threads.
Limitas el número y los threads van esperando a que quede una conexión libre, cuando queda una libre, esta e asigna a un thread que la usa y la vuelve a liberar. De esta forma utilizas "al máximo" las conexiones disponibles, pero sin pasarte.
|