Reflections on Structured Concurrency
Brian Goetz
brian.goetz at oracle.com
Tue Nov 16 18:01:57 UTC 2021
Indeed, this was very much on our mind in designing StructuredExecutor.
It is not the ultimate answer for structured concurrency -- since we
(and other language communities) are still searching for that -- but it
is a practical on-ramp, which encourages you towards safe idioms and
away from unsafe ones.
Structured concurrency allows you to get to global properties of a
computation from the sum of local properties. If a structured
computation spawns another structured computation, we can derive safety
and lifetime properties for the whole thing by looking only at the
relationship between a parent and its immediate children.
StructuredExecutor hopefully makes it easier for each layer of the
computation to follow the rules.
On 11/16/2021 11:39 AM, Eric Kolotyluk wrote:
> As a developer, I don't want to have to think too much, I want things to be
> as intuitive as possible, and I want the default to be that the design is
> as safe as possible. I appreciate designs that protect me from my own
> stupidity. Rather, I appreciate designs that let me save my intelligence
> for unique problems by dealing well with boilerplate problems. As an
> architect and designer, I know how things are rarely as simple as people
> want them to be.
More information about the loom-dev
mailing list