並行性と並列性

言語としての Rust には、本当に、どのように並行性や並列性を実現するかについての 信条がありません。標準ライブラリは、 OS のスレッドやシステムコールのブロックを 公開しています。なぜなら皆これらを持っていて、そして十分統一されているために、 比較的反論の起きないような、これらに対する抽象化を提供できるからです。メッセージパッシング、 グリーンスレッド、そして async の API はすべて、本当に異なっているため、 これらに対するいかなる抽象化においても、バージョン 1.0 に対するコミットを 行ないたくないようなトレードオフを巻き込む傾向にあります。

しかしながら、 Rust の並行性のモデルは比較的簡単に、ライブラリとして、自分自身の並行パラダイムを 設計することができ、そして、自分のコードと同じように、他の人のコードもちゃんと動かすことも出来ます。 必要なのは正しいライフタイムと、必要に応じて Send と Sync で、これですぐに書くことが出来ます。 あるいは... 競合を... 起こさずに... 済みます。