Concurrency and Parallelism

Rust as a language doesn’t really have an opinion on how to do concurrency orparallelism. The standard library exposes OS threads and blocking sys-callsbecause everyone has those, and they’re uniform enough that you can providean abstraction over them in a relatively uncontroversial way. Message passing,green threads, and async APIs are all diverse enough that any abstraction overthem tends to involve trade-offs that we weren’t willing to commit to for 1.0.

However the way Rust models concurrency makes it relatively easy to design your ownconcurrency paradigm as a library and have everyone else’s code Just Workwith yours. Just require the right lifetimes and Send and Sync where appropriateand you’re off to the races. Or rather, off to the… not… having… races.