マーカートレイト

Rust はどのようにして、スレッドをまたぐ共有アクセスを禁止すべきだと判断しているのでしょうか。その答えは、次の 2 つのトレイトにあります。

  • Send: 型 T は、T をスレッド境界をまたいで移動しても安全である場合に Send です。
  • Sync: 型 T は、&T をスレッド境界をまたいで移動しても安全である場合に Sync です。

SendSyncunsafe トレイト です。コンパイラは、それらが SendSync な型だけを含む限り、あなたの型に対してこれらを自動的に導出します。それが妥当だと分かっている場合は、手動で実装することもできます。

  • これらのトレイトは、その型が特定のスレッド安全性の性質を持つことを示すマーカーと考えることができます。
  • 通常のトレイトと同様に、ジェネリック制約で使用できます。