Duvida DriverManager

Tenho um programa que executa varias threads que se conectam a um banco de dados.

Meu problema é o seguinte, o metodo DriverManager.getConnection(…) é static e synchronized, desta forma uma thread fica esperando pela conexão da outra, acabando com o desempenho do programa.

Gostaria de saber se existe uma maneira de abrir conexões de forma concorrente, sem usar o metodo sincronizado.

Desde ja agradeço…