< session />

Structured Concurrency: Managing the Hierarchical Cancelation and Error Handling

Thu, 24 April

Concurrency is a fundamental part of modern software development, but the many approaches available differ significantly in how they handle cancellation and errors. Structured Concurrency offers a solution that simplifies typical fan-out and fan-in scenarios, making it easier to manage tasks, particularly when sub-tasks need to be canceled or can produce errors.

In this talk, we’ll introduce the concept of Structured Concurrency and demonstrate how it can be applied in real-world use cases, particularly for managing hierarchical cancellation and error handling. We’ll compare different approaches to concurrency in Java, Kotlin, and Scala, exploring how Structured Concurrency provides a more predictable and maintainable model for managing tasks. We will also cover the enhancements brought by Project Loom in Java, which integrates Structured Concurrency principles directly into the language, making concurrent programming more intuitive.

Additionally, we’ll discuss the integration of Scoped Values with Structured Concurrency, a feature that allows for seamless propagation of contextual information across concurrency boundaries without the need for explicitly passing data through method parameters.

By the end of this session, you’ll have a solid understanding of how to apply Structured Concurrency across multiple languages and how it can help you build more reliable, maintainable, and efficient concurrent applications.

Target Audience: This session is aimed at Java Developers, Kotlin Developers, and Scala Developers who are looking to simplify concurrent programming and improve error handling in their applications. Software Architects and Tech Leads will also benefit from understanding the principles of Structured Concurrency and its advantages for building robust and maintainable systems.

< speaker_info />

About the speaker

James Ward

Principal Developer Advocate, AWS

James Ward is a professional software developer since 1997, with much of that time spent helping developers build software that doesn't suck. A Typed Pure Functional Programming zealot who often compromises on his ideals to just get stuff done. Currently a Developer Advocate for AWS.nerd / software developer who shares what he learns with others though presentations, blogs, demos, and code. After over two decades of professional programming, he is now a self-proclaimed Typed Pure Functional Programming zealot but often compromises on his ideals to just get stuff done. After spending too many sleepless nights in data centers repairing RAID arrays, he now prefers higher-level cloud abstractions with appropriate escape hatches. James is a huge Open Source proponent, hoping to never get burned by lock-in again.