{"id":1588,"date":"2026-03-22T18:54:02","date_gmt":"2026-03-23T00:54:02","guid":{"rendered":"https:\/\/www.djug.org\/?p=1588"},"modified":"2026-03-22T18:54:50","modified_gmt":"2026-03-23T00:54:50","slug":"nicolai-parlog-structured-concurrency-in-action","status":"publish","type":"post","link":"https:\/\/www.djug.org\/?p=1588","title":{"rendered":"Nicolai Parlog: Structured Concurrency in Action"},"content":{"rendered":"<div class=\"flex items-baseline justify-between\">\n<div class=\"flex gap-ds2-12 items-center\">\n<div class=\"flex flex-col gap-ds2-4\">\n<h2 class=\"ds2-b24 text-ds2-text-fill-primary-enabled\">Date: Thursday April 2nd, 2026<\/h2>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"flex flex-col items-start gap-ds2-16\">\n<div class=\"w-full break-words transition-all duration-300 \">\n<p class=\"mb-ds2-10\">5:30-6:00: Networking<\/p>\n<p class=\"mb-ds2-10\">6:00-6:15: Announcements<\/p>\n<p class=\"mb-ds2-10\"><strong>6:15-7:45: Structured Concurrency in Action<\/strong><\/p>\n<p class=\"mb-ds2-10\">In Java 25, the structured concurrency API sees its fifth preview with considerable changes over previous iterations. With chances being good that it will finalize without a further overhaul, let&#8217;s put it into action and explore how to:<\/p>\n<p class=\"mb-ds2-10\">* structure concurrent code<br \/>\n* process and propagate errors and cancellation<br \/>\n* observe thread relationships<br \/>\n* refactor from a reactive approach<\/p>\n<p class=\"mb-ds2-10\">After this presentation, you&#8217;ll be ready to put the structured concurrency API into action in your project.<\/p>\n<p class=\"mb-ds2-10\"><strong>About Nicolai Parlog<\/strong><br \/>\nNicolai (aka nipafx) is a Java enthusiast focused on language features, core APIs, and runtime evolution with a passion for learning and sharing. He does that mostly at conferences and in his biweekly Inside Java Newscast, but also occasionally in podcasts, live streams, articles, and books &#8211; more on all that on\u00a0<a class=\"!text-ds2-text-fill-brand_primary-enabled hover:!text-ds2-text-fill-brand_primary-hover\" href=\"http:\/\/nipafx.dev\/\" target=\"_blank\" rel=\"nofollow ugc noopener noreferrer\">nipafx.dev<\/a>. He&#8217;s a Java Developer Advocate at Oracle and otherwise best known for his haircut.<\/p>\n<p class=\"mb-ds2-10\"><strong>7:45: Door prizes<\/strong><\/p>\n<p class=\"mb-ds2-10\">Thanks to our sponsors!<\/p>\n<ul class=\"pl-5 list-disc mb-4\">\n<li><a class=\"!text-ds2-text-fill-brand_primary-enabled hover:!text-ds2-text-fill-brand_primary-hover\" href=\"https:\/\/www.stridesstaffing.com\/\" target=\"_blank\" rel=\"nofollow ugc noopener noreferrer\">Strides Staffing<\/a>\u00a0&#8211; Beer<\/li>\n<li><a class=\"!text-ds2-text-fill-brand_primary-enabled hover:!text-ds2-text-fill-brand_primary-hover\" href=\"https:\/\/agiledeveloper.com\/\" target=\"_blank\" rel=\"nofollow ugc noopener noreferrer\">Agile Developer<\/a>\u00a0&#8211; dev2next will be held in Lone Tree, Colorado, from October 12 to 15, 2026. As an incentive for DJUG members to attend the JUG meetings in-person, dev2next will raffle off one free ticket for the conference each month a meeting is held, through September 2026.<\/li>\n<li><a class=\"!text-ds2-text-fill-brand_primary-enabled hover:!text-ds2-text-fill-brand_primary-hover\" href=\"https:\/\/www.jetbrains.com\/\" target=\"_blank\" rel=\"nofollow ugc noopener noreferrer\">JetBrains<\/a>\u00a0&#8211; Coupon for a 12-month personal subscription to any JetBrains IDE<\/li>\n<li><a class=\"!text-ds2-text-fill-brand_primary-enabled hover:!text-ds2-text-fill-brand_primary-hover\" href=\"https:\/\/www.thriveworkplace.com\/centennial\/\" target=\"_blank\" rel=\"nofollow ugc noopener noreferrer\">Thrive Workplace<\/a>\u00a0&#8211; Event Host<\/li>\n<\/ul>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Date: Thursday April 2nd, 2026 5:30-6:00: Networking 6:00-6:15: Announcements 6:15-7:45: Structured Concurrency in Action In Java 25, the structured concurrency API sees its fifth preview with considerable changes over previous iterations. With chances being good that it will finalize without &hellip; <a href=\"https:\/\/www.djug.org\/?p=1588\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1588","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.djug.org\/index.php?rest_route=\/wp\/v2\/posts\/1588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.djug.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.djug.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.djug.org\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.djug.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1588"}],"version-history":[{"count":2,"href":"https:\/\/www.djug.org\/index.php?rest_route=\/wp\/v2\/posts\/1588\/revisions"}],"predecessor-version":[{"id":1590,"href":"https:\/\/www.djug.org\/index.php?rest_route=\/wp\/v2\/posts\/1588\/revisions\/1590"}],"wp:attachment":[{"href":"https:\/\/www.djug.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.djug.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1588"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.djug.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}