private static final ExecutorService VIRTUAL =
Executors.newVirtualThreadPerTaskExecutor()
void handle(Request request, Response response)
throws InterruptedException {
var taskA = VIRTUAL.submit(this::doA);
var taskB = VIRTUAL.submit(this::doB);
response.send(taskA.get() + taskB.get());
}