Concurrency and Parallelism
Rust as a language doesnât really have an opinion on how to do concurrency or parallelism. The standard library exposes OS threads and blocking sys-calls because everyone has those, and theyâre uniform enough that you can provide an abstraction over them in a relatively uncontroversial way. Message passing, green threads, and async APIs are all diverse enough that any abstraction over them 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 own concurrency paradigm as a library and have everyone elseâs code Just Work with yours. Just require the right lifetimes and Send and Sync where appropriate and youâre off to the races. Or rather, off to theâĶ notâĶ havingâĶ races.