JDBC в значительной степени однопоточный.Ожидается, что из соединения вниз только один поток будет использовать его в течение своего срока службы (хорошо, соединения могут быть объединены, но это должно быть невидимо для приложения, и только один поток должен использовать соединение одновременно).
Тамэто одно исключение, Statement.cancel()
, которое позволяет другому потоку прерывать / отменять выполняемый запрос, но я считаю, что это единственный случай многопоточности.
Как обычно, duffymo говорит, если вы хотите асинхронныйповедение, которое вы могли бы построить что-то поверх JDBC (и я думаю, это то, что .NET делает под прикрытием).