18-Send
8.5.3 Send
Send类型可以安全地发送到多个线程,这表明该类型是一种移动类型。非Send类型的是指针类型,例如&T,除非T是Sync类型。
Send特征在标准库中的std::marker模块中具有以下类型签名:
pub unsafe auto trait Send { }
上述定义中需要特别留意的有3点:首先,它是不包含任何函数体或元素的标记特征;其次,它以auto关键字作为前缀,因为它适用于大多数类型的隐式实现;最后,它是一个不安全的特征,因为Rust希望开发者能够明确地选择,并确保它们的类型具有内置的同步线程安全。