Almaty Java Community
Ссылка
нажмите — покажем
нажмите — покажем
Всем привет!
Пока память о последнем митапе ещё свежа, закрепим всё докладом Project Loom - Structured Concurrency с Java Day™ London прошлого года.
Там Алан Бейтман из Oracle, ответственный за проект Loom, рассказывает о виртуальных потоках с простыми примерами и проблемами.
Алан рассказал, как команда рассматривала альтернативы в виде зелёных потоков с собственным планировщиком задач, но от этой идеи отказались, так как это усложняло обратную совместимость с традиционными API для управления потоками.
Также, конечно, про нововведения Java, API для управления потоками StructuredTaskScope и Gatherers.
StructuredTaskScope - это API для запуска и управления несколькими задачами в виде древовидной иерархии родительских и дочерних потоков. Реализация крутая: сами виртуальные потоки теперь не что-то, в чём чёрт ногу сломит, а логически структурированное дерево. Ещё если сворачивается родительский поток, сворачиваются все дочерние, а ошибки обрабатываются централизованно от дочернего к родительскому.
Gatherers - ещё одно нововведение, пока ещё экспериментальное, но планируется его закрепить до LTS 25. Это сборщик данных, который позволяет создавать собственные промежуточные потоковые операции, при этом всё выполняется параллельно в виртуальных потоках.
При этом Алан признаёт, что на данный момент нужно больше данных и больше обратной связи, и поэтому они собираются и дальше улучшать StructuredTaskScope и Gatherers. В планах также продолжать облегчение работы с потоками, ибо они часто критикуются за сложность и запутанность.
В общем, просмотр точно стоит потраченного времени.
Видео по ссылке
1 · 387 ·