The Scoped Task trilemma - Without boats, dreams dry up
This is the first post in a series of posts about concurrency in Rust, and the different APIs that can exist to support it. Unlike my recent series on control-flow effects, this series isn’t driving toward any particular vision of what I think the Rust project should do. Instead, I am just trying to publicly explore the problem space and build tools for thinking about the issues involved. I’m not sure what the “right” concurrency API is. It’s well known in certain circles that there was a sign hung up at the Mozilla office in San Francisco: “You must be this tall to write multi-threaded code”. The sign was hung about 10 feet off the ground. This little joke has an almost mythological relevance in the origin story of Rust, which was designed by a Mozilla team to make writing parallel and concurrent systems software more tractable. And indeed, Rust has well-resolved many of the problems users encounter writing multi-threaded systems. But there is a problem. Recently, Tyler Mandry wrote a
The Scoped Task trilemma April 8, 2023 This is the first post in a series of posts about concurrency in Rust, and the different APIs that can exist to support it. Unlike my recent series on control-flow effects, this series isn’t driving toward any particular vision of what I think the Rust project should do. Instead, I am just trying to publicly explore the problem space and build tools for thinking about the issues involved. I’m not sure what the “right” concurrency API is. It’s well known in certain circles that there was a sign hung up at the Mozilla office in San Francisco: “You must be t
Explore this link on the map →related reading
- Let futures be futureswithout.boats
- TypeScript Structured Concurrencythecandidstartup.org
- Concurrency Patterns in Embedded Rust - Ferrous Systemsferrous-systems.com
- Fearless Concurrency - The Rust Programming Languagedoc.rust-lang.org
- Async Rust Is A Bad Languagebitbashing.io
- Notes on structured concurrency, or: Go statement considered harmful - njs blogvorpus.org
- Using Threads to Run Code Simultaneously - The Rust Programming Languagedoc.rust-lang.org
- A half-hour to learn Rustfasterthanli.me
- async/await on embedded Rust - Ferrous Systemsferrous-systems.com
- Why choose async/await over threads? | Hacker Newsnews.ycombinator.com
- Zig explores structured concurrency [LWN.net]lwn.net
- Why async Rust?without.boats