Добавьте пример, чтобы прояснить, почему нам нужна интерактивная часть с невиртуальным потоком в JVM.
Как насчет использования этого способа обработки виртуального потока, когда мы взаимодействуем с существующим, используя синхронизированную библиотеку? Например, диспетчер соединений с базой данных HikariCP в настоящее время не поддерживает виртуальный поток.
Например, вызов 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
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... ual-thread