it-swarm-ja.com

Rust「並行」言語とはどのような意味ですか?

Rustは「並行」言語として宣伝されていますが、これは具体的に何を意味し、C++などの他の言語とどのように異なりますか?

2
Greg

それは2つのことを意味するかもしれません:

並行プログラミングの機能

Rustは、複数の同時実行を作成および実行するための標準ライブラリを提供します。主にスレッドを介して。しかし、C++を含むほとんどの現代言語は同じ標準のスレッドライブラリを提供するため、これは特別なことではありません。

だから私はこれが広告が意味するものではないと言うでしょう。

並行プログラミングの安全性

これは、Rustが一意である領域です。Rustの型システムと厳密なメモリモデルにより、Rust作成者は、コードがコンパイルされると、そこに保証されると主張します他の言語の並行コードで一般的である可能性のあるデッドロックや古いデータのようなものは、Rustコードでは前例のないものです。

しかし、厳密なコンパイラルールを満たすには、Rustの型システムとメモリモデルに関する多くの詳細な知識と経験が必要であるため、このようなコードの作成ははるかに複雑になります。

並行エラーのデバッグと修正は並行コードの記述で最も難しい部分の1つであるため、これはさらに重要になります。したがって、そのようなエラーがないことを保証するシステムを持つことは、大きなセールスポイントと見なされます。

8
Euphoric