Send und Sync
Send und Sync Traits
Abschnitt betitelt „Send und Sync Traits“Stellen Sie sich vor, Sie entwerfen eine API für eine Datenbankverbindung wie diese:
struct DbConnection { /* ... */ }impl DbConnection { fn query(&self) -> DbResult { /* ... */ }}Ihre Datenbank unterstützt keine gleichzeitigen Abfragen von derselben Verbindung.
Welche der folgenden Marker-Traits sollte DbConnection implementieren?
Es ist in Ordnung, eine DbConnection zwischen Threads zu senden, daher sollte DbConnection Send implementieren.
Es wäre jedoch nicht gültig, z.B. ein Arc<Database> so zu teilen, dass mehrere Threads gleichzeitig db.query() aufrufen, daher sollte DbConnection Sync nicht implementieren.