O título do seu post é bem subjetivo, e o problema apresentado, é vago
Então deixa eu ver se entendi… você quer mesmo executar várias consultas ao banco, concorrentemente? É só criar Threads que executem a consulta.
Ou você quer um mecanismo de controle de acesso concorrente? Aí a coisa muda de figura, e o assunto é um pouco complexo, dependente de uma séria de coisas.
Quero acessar várias consultas ao banco concorrentemente. Mas quero executar uma query só várias vezes, e quero ter o tempo de resposta desse acesso múltiplo! tipo assim, 10 consultas simultâneas ao banco de dados com uma mesma query! E quero o tempo que ele gastou pra fazer isso!
Só isso… Mas não sei como implementar isso… Já desenvolvo em java a algum tempo, mas nunca precisei de trabalhar com threads. agora surgiu essa necessidade…
Thread t = new Thread() {
public void run() {
while ( true ) {
// Executar consulta
}
}
};
t.start();
Fiz uma classe anônima só pra mostrar, mas vc vai querer fazer sua própria classe. Ao rodar, o Thread vai executar várias consultas ao banco, uma atrás da outra. Crie mais de um objeto desta classe Thread, e inicie todos - eles estarão consultando o banco concorrentemente.
Pra sacar o tempo que se passou, use System.currentTimeMillis() antes e depois do método que inicia os seus threads… Fazendo tempoFim - tempoInicio, vc tem o tempo gasto pelo código.