“Structured concurrency” describes a new way of thinking about how to design concurrency APIs. Let’s talk about the theory, compare implementations in different languages, and make the world safe for structured control flow!
What is structured concurrency?
It’s an approach to concurrency APIs based around the idea that concurrent control flow should be encapsulable behind existing control flow abstractions, like functions. The core ideas seem to have evolved semi-independently in multiple projects simultaneously, including Martin Sústrik’s libdill, Trio, Kotlin, Golang’s errgroup, and probably others we haven’t discovered yet! The term itself appears to have been invented by Martin Sústrik. And then there’s all the languages that don’t have structured concurrency yet… but should…
See our resources post for more.