TGViewer
Чашечка Java Чашечка Java @a_cup_of_java · 8.37K subscribers
Post #8660 399
Как StructuredTaskScope в JDK 27 отменяет лишнюю работу при сбое

Два независимых вызова к сервисам последовательно занимают около двух секунд. Виртуальные потоки с Future сокращают успешный запуск примерно до секунды, но при сбое одного вызова через 200 мс второй продолжает работу. Закрытие ExecutorService ждёт его завершения, хотя результат уже не нужен.

StructuredTaskScope объединяет подзадачи: ошибка одной прерывает соседнюю, а join() сообщает о сбое всей группы. В примере метод возвращается примерно через 200 мс вместо полной секунды.

Сравнение трёх реализаций учитывает седьмую предварительную версию API в JDK 27 и проверяемое исключение ExecutionException. Для запуска нужен --enable-preview. Ограничение сохраняется: задача должна реагировать на прерывание, а закрытие области ждёт завершения всех подзадач.
More from @a_cup_of_java
  1. Sep 30, 2026Как настроить MFA в Spring Security 7 для приложения и отдельных эндпоинтов Spring Securit…
  2. Sep 30, 2026Как подтвердить взаимную блокировку по дампу потоков Java Если JVM перестала выполнять раб…
  3. Sep 29, 2026Spring Boot 4: настраиваем экспорт логов, метрик и трассировок через OpenTelemetry В Sprin…
  4. Sep 29, 2026DAGP 3.5.0 проверяет бинарную совместимость дубликатов классов в Gradle Если два JAR содер…
  5. Sep 29, 2026Как защитить REST API в Spring Boot от несовместимых изменений В Spring Boot обновление Ja…
  6. Sep 28, 2026JDK 26: когда автовекторизации JIT мало и нужен Vector API JIT превращает циклы Java в SIM…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →