Например, вызов getHikariConnection с помощью виртуального потока.
Код: Выделить всё
private val hikarliExecutor = Executors.newWorkStealingPool() // or new FixedPool
def getHikariConnection(prams: String) = {
var conn: Connection = null
val rstFuture = hikarliExecutor.submit(
new Runnable {
override def run(): Unit = {
conn = getConnection()
}
},
conn
)
rstFuture.get()
}
private def getConnection(): Connection = {
// call hikariCP API get a connection
val conn = ...
return conn
}
По поводу этого HikariCP у меня есть два подробных вопроса:
- Будет ли это безопасно использовать отдельный исполнитель потоков с существующим виртуальным потоком?
Как насчет влияния на производительность по сравнению с реализацией пула диспетчера подключений к базе данных виртуальных потоков? (Извините, что еще не вышел из такой библиотеки. Только в теории)
Подробнее здесь: https://stackoverflow.com/questions/786 ... ual-thread